{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "hzPgFeIkZn9q"
      },
      "source": [
        "# Goal: Make GPT-OSS play games with Reinforcement Learning\n",
        "\n",
        "Our goal is to make GPT-OSS play the 2048 game with reinforcement learning, or a variant of it called [GRPO](https://arxiv.org/abs/2501.12948).\n",
        "\n",
        "We want the model to devise a strategy to play 2048, and we will run this strategy until we win or lose. We then reward the model if it created a good strategy (winning the game), and we'll penalize it (negative reward) if the strategy was a bad one.\n",
        "\n",
        "<img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/2048_win.png/500px-2048_win.png\" height=300 />"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "31KIMLJLnHET"
      },
      "source": [
        "# Installation\n",
        "We'll be using [Unsloth](https://github.com/unslothai/unsloth) to do RL on GPT-OSS 20B. Unsloth saves 70% VRAM usage and makes reinforcement learning 2 to 6x faster!"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "CGoDZwcunHEU"
      },
      "outputs": [],
      "source": [
        "%%capture\n",
        "import os, importlib.util\n",
        "!pip install --upgrade -qqq uv\n",
        "if importlib.util.find_spec(\"torch\") is None or \"COLAB_\" in \"\".join(os.environ.keys()):\n",
        "    try: import numpy; get_numpy = f\"numpy=={numpy.__version__}\"\n",
        "    except: get_numpy = \"numpy\"\n",
        "    !uv pip install -qqq \\\n",
        "        \"torch>=2.8.0\" \"triton>=3.4.0\" {get_numpy} torchvision bitsandbytes \"transformers==4.56.2\" \\\n",
        "        \"unsloth_zoo[base] @ git+https://github.com/unslothai/unsloth-zoo\" \\\n",
        "        \"unsloth[base] @ git+https://github.com/unslothai/unsloth\" \\\n",
        "        git+https://github.com/triton-lang/triton.git@05b2c186c1b6c9a08375389d5efe9cb4c401c075#subdirectory=python/triton_kernels\n",
        "elif importlib.util.find_spec(\"unsloth\") is None:\n",
        "    !uv pip install -qqq unsloth\n",
        "!uv pip install --upgrade --no-deps transformers==4.56.2 tokenizers trl==0.22.2 unsloth unsloth_zoo"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "CcLYwLyQLADE"
      },
      "source": [
        "We'll load GPT-OSS 20B and set some parameters:\n",
        "* `max_seq_length = 768` The maximum context length of the model. Increasing it will use more memory.\n",
        "* `lora_rank = 4` The larger this number, the smarter the RL process, but the slower and more memory usage`load_in_16bit` will be faster but will need a 64GB GPU or more (MI300)\n",
        "* `offload_embedding = True` New Unsloth optimization which moves the embedding to CPU RAM, reducing VRAM by 1GB."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 205,
          "referenced_widgets": [
            "c6da8e771e14490b856226a9ab08556d",
            "e270e1eb571b4c75921b8fbee4cc8e2a",
            "a0bfb5d1b125412ab558de97446bab69",
            "4d13ad704b0540119d07b50339a7c1bf",
            "d57af02288e94e18a221739a4cdcf82a",
            "28a39cc2235f4a87a9ba005fdb7c897c",
            "c8599f4cea6440c9a36a873507012a2f",
            "75263dd171514a4d96f1c7dd369711c8",
            "a35a90b772c742bd90f0e7ed771c8abb",
            "11c8cbc8b22e45aa8e693e93899bebd4",
            "c0a2a290c184454597c72fa8727085fd"
          ]
        },
        "id": "DkIvEkIIkEyB",
        "outputId": "096db53a-efb1-4ca0-dd47-aa59bcaef0ae"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "🦥 Unsloth: Will patch your computer to enable 2x faster free finetuning.\n",
            "🦥 Unsloth Zoo will now patch everything to make training faster!\n",
            "==((====))==  Unsloth 2025.10.4: Fast Gpt_Oss patching. Transformers: 4.56.2.\n",
            "   \\\\   /|    Num GPUs = 1. Max memory: 79.318 GB. Platform: Linux.\n",
            "O^O/ \\_/ \\    Torch: 2.8.0. Triton: 3.4.0\n",
            "\\        /    Bfloat16 = TRUE. FA [Xformers = None. FA2 = False]\n",
            " \"-____-\"     Free license: http://github.com/unslothai/unsloth\n",
            "Unsloth: Fast downloading is enabled - ignore downloading bars which are red colored!\n",
            "Unsloth: QLoRA and full finetuning all not selected. Switching to 16bit LoRA.\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "c6da8e771e14490b856226a9ab08556d",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "Loading checkpoint shards:   0%|          | 0/9 [00:00<?, ?it/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "from unsloth import FastLanguageModel\n",
        "import torch\n",
        "max_seq_length = 768 # Can increase for longer RL output\n",
        "lora_rank = 4        # Larger rank = smarter, but slower\n",
        "model, tokenizer = FastLanguageModel.from_pretrained(\n",
        "    model_name = \"unsloth/gpt-oss-20b-BF16\",\n",
        "    load_in_4bit = False,\n",
        "    max_seq_length = max_seq_length,\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "TfeUs-lQJDSq"
      },
      "source": [
        "To do efficient RL, we will use [LoRA](https://arxiv.org/abs/2106.09685), which allows us to only add 1 to 5% of extra weights to the model for finetuning purposes. This allows us to save memory usage by over 60%, and yet it retains good accuracy. Read Unsloth's [GPT-OSS RL Guide](https://docs.unsloth.ai/new/gpt-oss-reinforcement-learning) for more details."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "8rGa-o3HJCo1",
        "outputId": "8502a0b9-be42-4b03-9281-b7a5df2d564a"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Unsloth: Making `model.base_model.model.model` require gradients\n"
          ]
        }
      ],
      "source": [
        "model = FastLanguageModel.get_peft_model(\n",
        "    model,\n",
        "    r = lora_rank, # Choose any number > 0 ! Suggested 8, 16, 32, 64, 128\n",
        "    target_modules = [\n",
        "        \"q_proj\", \"k_proj\", \"v_proj\", \"o_proj\",\n",
        "        \"gate_proj\", \"up_proj\", \"down_proj\",\n",
        "    ],\n",
        "    lora_alpha = lora_rank*2, # *2 speeds up training\n",
        "    use_gradient_checkpointing = \"unsloth\", # Reduces memory usage\n",
        "    random_state = 3407,\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "N0QnO9_YJBOI"
      },
      "source": [
        "# 2048 game\n",
        "\n",
        "We used GPT-5 to create a variant of the 2048 game. It should output the current game board state, and allow us to advance the game board state with 1 action (up, down, left, right)."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "cellView": "form",
        "id": "D9CI4jtgL5mw"
      },
      "outputs": [],
      "source": [
        "#@title (Collapsible) 2048 Game Implementation\n",
        "from dataclasses import dataclass, field\n",
        "from typing import List, Tuple, Optional\n",
        "import random\n",
        "import copy\n",
        "\n",
        "def _compress_and_merge_row_left(row: List[int]) -> Tuple[List[int], int, bool]:\n",
        "    n = len(row)\n",
        "    tiles = [x for x in row if x != 0]\n",
        "    gained = 0\n",
        "    i = 0\n",
        "    merged = []\n",
        "    while i < len(tiles):\n",
        "        if i + 1 < len(tiles) and tiles[i] == tiles[i + 1]:\n",
        "            v = tiles[i] * 2\n",
        "            gained += v\n",
        "            merged.append(v)\n",
        "            i += 2\n",
        "        else:\n",
        "            merged.append(tiles[i])\n",
        "            i += 1\n",
        "    merged += [0] * (n - len(merged))\n",
        "    changed = merged != row\n",
        "    return merged, gained, changed\n",
        "\n",
        "def _move_left(board: List[List[int]]) -> Tuple[List[List[int]], int, bool]:\n",
        "    changed_any = False\n",
        "    total_gain = 0\n",
        "    new_board = []\n",
        "    for row in board:\n",
        "        new_row, gained, changed = _compress_and_merge_row_left(row)\n",
        "        new_board.append(new_row)\n",
        "        total_gain += gained\n",
        "        changed_any = changed_any or changed\n",
        "    return new_board, total_gain, changed_any\n",
        "\n",
        "def _move_right(board: List[List[int]]) -> Tuple[List[List[int]], int, bool]:\n",
        "    changed_any = False\n",
        "    total_gain = 0\n",
        "    new_board = []\n",
        "    for row in board:\n",
        "        rev = list(reversed(row))\n",
        "        new_rev, gained, changed = _compress_and_merge_row_left(rev)\n",
        "        new_row = list(reversed(new_rev))\n",
        "        new_board.append(new_row)\n",
        "        total_gain += gained\n",
        "        changed_any = changed_any or changed\n",
        "    return new_board, total_gain, changed_any\n",
        "\n",
        "def _transpose(board: List[List[int]]) -> List[List[int]]:\n",
        "    return [list(row) for row in zip(*board)]\n",
        "\n",
        "def _move_up(board: List[List[int]]) -> Tuple[List[List[int]], int, bool]:\n",
        "    t = _transpose(board)\n",
        "    moved, gain, changed = _move_left(t)\n",
        "    return _transpose(moved), gain, changed\n",
        "\n",
        "def _move_down(board: List[List[int]]) -> Tuple[List[List[int]], int, bool]:\n",
        "    t = _transpose(board)\n",
        "    moved, gain, changed = _move_right(t)\n",
        "    return _transpose(moved), gain, changed\n",
        "\n",
        "def _empty_cells(board: List[List[int]]) -> List[Tuple[int, int]]:\n",
        "    size = len(board)\n",
        "    return [(r, c) for r in range(size) for c in range(size) if board[r][c] == 0]\n",
        "\n",
        "def _can_move(board: List[List[int]]) -> bool:\n",
        "    if _empty_cells(board):\n",
        "        return True\n",
        "    size = len(board)\n",
        "    for r in range(size):\n",
        "        for c in range(size - 1):\n",
        "            if board[r][c] == board[r][c + 1]:\n",
        "                return True\n",
        "    for r in range(size - 1):\n",
        "        for c in range(size):\n",
        "            if board[r][c] == board[r + 1][c]:\n",
        "                return True\n",
        "    return False\n",
        "\n",
        "@dataclass\n",
        "class GameBoard:\n",
        "    size: int\n",
        "    seed: Optional[int] = None\n",
        "    target: int = 2048\n",
        "    probability_fours: float = 0.10 # originally spawns (4) 10% of the time!\n",
        "    _rng: random.Random = field(init=False, repr=False)\n",
        "    _board: List[List[int]] = field(init=False, repr=False)\n",
        "    _score: int = field(default=0, init=False, repr=False)\n",
        "    _state: str = field(default=\"ongoing\", init=False, repr=False)\n",
        "\n",
        "    def __post_init__(self):\n",
        "        if self.size < 2:\n",
        "            raise ValueError(\"Board size must be at least 2.\")\n",
        "        self._rng = random.Random(self.seed)\n",
        "        self._board = [[0 for _ in range(self.size)] for _ in range(self.size)]\n",
        "        self._add_random_tile()\n",
        "        self._add_random_tile()\n",
        "        self._update_state_after_change()\n",
        "\n",
        "    class _BoardView:\n",
        "        def __init__(self, game: \"GameBoard\"):\n",
        "            self._game = game\n",
        "        def __iter__(self):\n",
        "            return iter(self._game._board)\n",
        "        def __len__(self):\n",
        "            return len(self._game._board)\n",
        "        def __getitem__(self, idx):\n",
        "            return self._game._board[idx]\n",
        "        def __repr__(self) -> str:\n",
        "            return repr(self._game._board)\n",
        "        __str__ = __repr__\n",
        "        def do_action(self, key: str) -> None:\n",
        "            self._game.do_action(key)\n",
        "        def state(self) -> str:\n",
        "            return self._game.state()\n",
        "        def pretty(self, colors: bool = True, border: bool = True, dot_for_zero: bool = True) -> str:\n",
        "            return self._game._render_pretty(colors=colors, border=border, dot_for_zero=dot_for_zero)\n",
        "\n",
        "    def board(self) -> \"_BoardView\":\n",
        "        return GameBoard._BoardView(self)\n",
        "    def state(self) -> str:\n",
        "        return self._state\n",
        "    def score(self) -> int:\n",
        "        return self._score\n",
        "    def do_action(self, key: str) -> None:\n",
        "        if self._state != \"ongoing\":\n",
        "            return\n",
        "        if not isinstance(key, str) or len(key) == 0:\n",
        "            self._state = \"failed\"\n",
        "            return\n",
        "        k = key.strip().lower()\n",
        "        if k == \"q\":\n",
        "            self._state = \"failed\"\n",
        "            return\n",
        "        move_map = {\"a\": _move_left, \"d\": _move_right, \"w\": _move_up, \"s\": _move_down}\n",
        "        if k not in move_map:\n",
        "            self._state = \"failed\"\n",
        "            return\n",
        "        mover = move_map[k]\n",
        "        new_board, gain, changed = mover(self._board)\n",
        "        if changed:\n",
        "            self._board = new_board\n",
        "            self._score += gain\n",
        "            self._add_random_tile()\n",
        "        self._update_state_after_change()\n",
        "    def _add_random_tile(self) -> bool:\n",
        "        empties = _empty_cells(self._board)\n",
        "        if not empties:\n",
        "            return False\n",
        "        r, c = self._rng.choice(empties)\n",
        "        self._board[r][c] = 4 if self._rng.random() < self.probability_fours else 2\n",
        "        return True\n",
        "    def _update_state_after_change(self) -> None:\n",
        "        if any(self.target in row for row in self._board):\n",
        "            self._state = \"success\"\n",
        "            return\n",
        "        if not _can_move(self._board):\n",
        "            self._state = \"failed\"\n",
        "            return\n",
        "        self._state = \"ongoing\"\n",
        "    def _render_pretty(self, colors: bool = True, border: bool = True, dot_for_zero: bool = True) -> str:\n",
        "        \"\"\"\n",
        "        Pretty-print the board with colors that scale from 0 up to self.target.\n",
        "        Uses ANSI 256-color codes (works in most terminals). Set colors=False to disable.\n",
        "        \"\"\"\n",
        "        import math\n",
        "\n",
        "        b = self._board\n",
        "        mx = max((max(row) for row in b), default=0)\n",
        "        cell_w = max(3, len(str(mx)))\n",
        "\n",
        "        RESET = \"\\x1b[0m\"\n",
        "\n",
        "        # A smooth-ish gradient from cool → warm\n",
        "        # (blue/cyan/green → yellow/orange/red). Tweak or expand as you like.\n",
        "        GRAD = [33, 39, 45, 51, 50, 49, 48, 47, 46, 82, 118, 154, 190, 226, 220, 214, 208, 202, 196]\n",
        "        ZERO_FG = 239  # dim gray\n",
        "\n",
        "        def color_code(v: int) -> str:\n",
        "            if not colors:\n",
        "                return \"\"\n",
        "            if v == 0:\n",
        "                return f\"\\x1b[38;5;{ZERO_FG}m\"\n",
        "            # Normalize by exponent relative to target: r in [0,1]\n",
        "            t = max(2, self.target)  # safety; avoid log2(1)\n",
        "            # Guard: if v is not a power of two or is <1, handle gracefully\n",
        "            try:\n",
        "                r = max(0.0, min(1.0, math.log2(v) / math.log2(t)))\n",
        "            except ValueError:\n",
        "                r = 0.0\n",
        "            idx = int(round(r * (len(GRAD) - 1)))\n",
        "            return f\"\\x1b[38;5;{GRAD[idx]}m\"\n",
        "\n",
        "        def fmt(v: int) -> str:\n",
        "            s = \".\" if (v == 0 and dot_for_zero) else str(v)\n",
        "            s = s.rjust(cell_w)\n",
        "            return color_code(v) + s + (RESET if colors else \"\")\n",
        "\n",
        "        def hline(left: str, mid: str, right: str) -> str:\n",
        "            return left + mid.join(\"─\" * cell_w for _ in range(self.size)) + right\n",
        "\n",
        "        rows = []\n",
        "        if border:\n",
        "            rows.append(hline(\"┌\", \"┬\", \"┐\"))\n",
        "        for r in range(self.size):\n",
        "            content = \"│\".join(fmt(v) for v in b[r])\n",
        "            rows.append((\"│\" + content + \"│\") if border else content)\n",
        "            if border:\n",
        "                rows.append(hline(\"└\" if r == self.size - 1 else \"├\",\n",
        "                                \"┴\" if r == self.size - 1 else \"┼\",\n",
        "                                \"┘\" if r == self.size - 1 else \"┤\"))\n",
        "        return \"\\n\".join(rows)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "4BcaLniVKLpa"
      },
      "source": [
        "For example let's create a board of size 5 X 5 and set the target to 8 instead of 2048.\n",
        "\n",
        "**[NOTE]** 2048 originally spawns a (4) 10% of the time! We can disable this for harder games. See [Wikipedia page](https://en.wikipedia.org/wiki/2048_(video_game)) for more details."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "-M8kGaFRJ2ic",
        "outputId": "a8219876-555a-4e33-e0ca-4b0dc9713439"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "┌───┬───┬───┬───┬───┐\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;48m  2\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;48m  2\u001b[0m│\n",
            "└───┴───┴───┴───┴───┘ ongoing\n"
          ]
        }
      ],
      "source": [
        "game = GameBoard(size = 5, seed = 42, target = 8, probability_fours = 0.10)\n",
        "print(game.board().pretty(), game.state())"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "zclUeNxosv4k",
        "outputId": "20444e85-9827-4277-c1ed-b6027d40f99a"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "GameBoard(size=5, seed=42, target=8, probability_fours=0.1)"
            ]
          },
          "execution_count": 6,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "game"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "envzrXmjKRff"
      },
      "source": [
        "We'll use WASD for the action space:\n",
        "\n",
        "```\n",
        "   W\n",
        "A  S  D\n",
        "```\n",
        "Also `game.state()` will say `success` if we succeeded in getting the target!"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "b-gSgthFI_wq",
        "outputId": "ee0056f6-93c9-400a-d92b-1da72967c336"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "┌───┬───┬───┬───┬───┐\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;48m  2\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;190m  4\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "└───┴───┴───┴───┴───┘ ongoing\n"
          ]
        }
      ],
      "source": [
        "game.do_action(\"A\")\n",
        "print(game.board().pretty(), game.state())"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "lUDdHKAxvZf8",
        "outputId": "68e3c0b2-3b4c-47f4-c4df-f4057522ee2d"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "┌───┬───┬───┬───┬───┐\n",
            "│\u001b[38;5;190m  4\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;48m  2\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;48m  2\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "└───┴───┴───┴───┴───┘ ongoing\n"
          ]
        }
      ],
      "source": [
        "game.do_action(\"W\")\n",
        "print(game.board().pretty(), game.state())"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "wkTHxvvUvcmO",
        "outputId": "f480fe17-6a8a-4130-c359-75346307d0be"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "┌───┬───┬───┬───┬───┐\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;190m  4\u001b[0m│\u001b[38;5;48m  2\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;48m  2\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;190m  4\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "└───┴───┴───┴───┴───┘ ongoing\n"
          ]
        }
      ],
      "source": [
        "game.do_action(\"D\")\n",
        "print(game.board().pretty(), game.state())"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "XO8vlL-4vd-K",
        "outputId": "b5916a37-08d3-4591-b185-74b8fc909ba3"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "┌───┬───┬───┬───┬───┐\n",
            "│\u001b[38;5;190m  4\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;190m  4\u001b[0m│\u001b[38;5;190m  4\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;190m  4\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "└───┴───┴───┴───┴───┘ ongoing\n"
          ]
        }
      ],
      "source": [
        "game.do_action(\"W\")\n",
        "print(game.board().pretty(), game.state())"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "MEa2ngmrvfNm",
        "outputId": "964c6444-5577-43ac-99be-3ac2f08a4763"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "┌───┬───┬───┬───┬───┐\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;48m  2\u001b[0m│\u001b[38;5;190m  4\u001b[0m│\u001b[38;5;196m  8\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;190m  4\u001b[0m│\n",
            "├───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "└───┴───┴───┴───┴───┘ success\n"
          ]
        }
      ],
      "source": [
        "game.do_action(\"D\")\n",
        "print(game.board().pretty(), game.state())"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "gGL1X29Fy4n5"
      },
      "source": [
        "If we do some other action that's not part of the action space, we will get an error, and the game will not accept anymore actions."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "VZeIHbqoy7yn",
        "outputId": "ad053a77-b754-41a8-eeb8-ad686579bbd4"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "┌───┬───┬───┐\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;190m  4\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "├───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;48m  2\u001b[0m│\n",
            "├───┼───┼───┤\n",
            "│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\u001b[38;5;239m  .\u001b[0m│\n",
            "└───┴───┴───┘ failed\n"
          ]
        }
      ],
      "source": [
        "game = GameBoard(size = 3, seed = 42, target = 8, probability_fours = 0.10)\n",
        "game.do_action(\"AA\") # Not in WASD\n",
        "game.do_action(\"W\")  # Doesn't do anything\n",
        "game.do_action(\"A\")  # Doesn't do anything\n",
        "print(game.board().pretty(), game.state())"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "VR6czU96cpxf"
      },
      "source": [
        "# RL Environment Setup\n",
        "\n",
        "We'll set up a function to accept some strategy that'll emit an action within `WASD` and check the game state.\n",
        "\n",
        "We'll also add a timer to only execute the stratgegy for 2 seconds maximum, otherwise it might never terminate!"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "tdgjnf-8z_kr"
      },
      "outputs": [],
      "source": [
        "from typing import Callable\n",
        "from unsloth import execute_with_time_limit\n",
        "\n",
        "def _execute_strategy(strategy : Callable, game : GameBoard):\n",
        "    assert callable(strategy)\n",
        "\n",
        "    steps = 0\n",
        "    while game.state() == \"ongoing\":\n",
        "        action = strategy(list(game.board()))\n",
        "        steps += 1\n",
        "        if type(action) is not str:\n",
        "            return steps, \"failed\"\n",
        "        game.do_action(action)\n",
        "    return steps, game.state()\n",
        "\n",
        "@execute_with_time_limit(2)\n",
        "def execute_strategy(strategy : Callable, game : GameBoard):\n",
        "    return _execute_strategy(strategy, game)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ywh0HizI9ayE"
      },
      "source": [
        "Let's make a generic strategy to just hit `W`. We should expect this generic strategy to fail:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "5bkhqoZc0IO8",
        "outputId": "8f495981-5e1a-424d-d19d-7b8d84472a35"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Timed out with error = Timed out after 2s\n"
          ]
        }
      ],
      "source": [
        "def always_move_left(board):\n",
        "    return \"W\"\n",
        "\n",
        "game = GameBoard(size = 8, seed = 42, target = 2048, probability_fours = 0.10)\n",
        "try:\n",
        "    execute_strategy(always_move_left, game)\n",
        "except TimeoutError as e:\n",
        "    print(f\"Timed out with error = {str(e)}\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "dkuHVdB09sgf"
      },
      "source": [
        "To allow longer strategies for GPT-OSS Reinforcement Learning, we shall allow a 5 second timer."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "SK-LfzsA9wbW"
      },
      "outputs": [],
      "source": [
        "@execute_with_time_limit(5)\n",
        "def execute_strategy(strategy : Callable, game : GameBoard):\n",
        "    return _execute_strategy(strategy, game)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "tRhLV_bZMYxy"
      },
      "source": [
        "# Code Execution\n",
        "\n",
        "To execute and create a new Python function, we first have to check if the function does not call other global variables or cheat. This is called `countering reward hacking` since we don't want the function to cheat.\n",
        "\n",
        "For example the below piece of code is fine, since it only imports Python level functions. We use `check_python_modules`:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "zz80kvg6M4BG",
        "outputId": "39db295f-8919-4b88-91bf-cde6c82174a6"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Only Python imports? True\n",
            "{'stdlib': ['math', 'typing'], 'non_stdlib': [], 'relative_imports': 0}\n"
          ]
        }
      ],
      "source": [
        "from unsloth import check_python_modules\n",
        "\n",
        "sample = \"\"\"\n",
        "def strategy(board):\n",
        "    import math\n",
        "    from typing import Callable\n",
        "    return \"W\"\n",
        "\"\"\"\n",
        "ok, info = check_python_modules(sample)\n",
        "print(\"Only Python imports?\", ok)\n",
        "print(info)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "bZzVWgKQ-VIg"
      },
      "source": [
        "For the below piece of code, since we import `numpy`, we should not allow the execution:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Z89Jw1KB-Ux7",
        "outputId": "2ef789b2-3ef0-4d9e-e93d-91d42fc1e80d"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Only Python imports? False\n",
            "{'stdlib': [], 'non_stdlib': ['numpy'], 'relative_imports': 0}\n"
          ]
        }
      ],
      "source": [
        "sample = \"\"\"\n",
        "def strategy(board):\n",
        "    from numpy import matmul\n",
        "    return \"W\"\n",
        "\"\"\"\n",
        "ok, info = check_python_modules(sample)\n",
        "print(\"Only Python imports?\", ok)\n",
        "print(info)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "SDSrjOTLVyQm"
      },
      "source": [
        "We also disallow global variable access. We'll use Unsloth's `create_locked_down_function` function\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "GcmYAmohVqw2",
        "outputId": "11d05aca-82e8-4e22-be85-e5eb202765f2"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "name 'np' is not defined\n"
          ]
        }
      ],
      "source": [
        "from unsloth import create_locked_down_function\n",
        "function = \"\"\"\n",
        "def import_numpy():\n",
        "    np.matmul\n",
        "    print(\"Success\")\n",
        "\"\"\"\n",
        "f = create_locked_down_function(function)\n",
        "try:\n",
        "    f()\n",
        "except Exception as e:\n",
        "    print(str(e))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "5tJKwLUgZsRq",
        "outputId": "d4242c63-a642-4495-a81c-d41cbf53a366"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "60\n"
          ]
        }
      ],
      "source": [
        "from unsloth import create_locked_down_function\n",
        "function = \"\"\"\n",
        "def add(a, b):\n",
        "    def adder(a):\n",
        "        return a + b\n",
        "    return adder(b) + b\n",
        "\"\"\"\n",
        "f = create_locked_down_function(function)\n",
        "try:\n",
        "    print(f(10, 20))\n",
        "except Exception as e:\n",
        "    print(str(e))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "8CzwCyXIPK04"
      },
      "source": [
        "# Data & RL task setup\n",
        "\n",
        "We now have to create a prompt to tell the model to create a strategy for the 2048 game. You can customize this to some other task for another RL task."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "B-2RRE4HMrQO",
        "outputId": "6dd1d3a0-58d6-4b93-ece1-4f082d25df46"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Create a new short 2048 strategy using only native Python code.\n",
            "You are given a list of list of numbers for the current board state.\n",
            "Output one action for \"W\", \"A\", \"S\", \"D\" on what is the optimal next step.\n",
            "Output your new short function in backticks using the format below:\n",
            "```python\n",
            "def strategy(board):\n",
            "    return \"W\" # Example\n",
            "```\n",
            "All helper functions should be inside def strategy. Only output the short function `strategy`.\n"
          ]
        }
      ],
      "source": [
        "prompt = \"\"\"\n",
        "Create a new short 2048 strategy using only native Python code.\n",
        "You are given a list of list of numbers for the current board state.\n",
        "Output one action for \"W\", \"A\", \"S\", \"D\" on what is the optimal next step.\n",
        "Output your new short function in backticks using the format below:\n",
        "```python\n",
        "def strategy(board):\n",
        "    return \"W\" # Example\n",
        "```\n",
        "All helper functions should be inside def strategy. Only output the short function `strategy`.\n",
        "\"\"\".strip()\n",
        "print(prompt)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "MIdudFUodN4i"
      },
      "source": [
        "First, let's prompt GPT-OSS without RL and see how it goes:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "9HJxrS76h3Ds",
        "outputId": "47f96a50-e3e9-49a0-b3f3-d64aaa022069"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "<|start|>system<|message|>You are ChatGPT, a large language model trained by OpenAI.\n",
            "Knowledge cutoff: 2024-06\n",
            "Current date: 2025-10-17\n",
            "\n",
            "Reasoning: low\n",
            "\n",
            "# Valid channels: analysis, commentary, final. Channel must be included for every message.\n",
            "Calls to these tools must go to the commentary channel: 'functions'.<|end|><|start|>user<|message|>Create a new short 2048 strategy using only native Python code.\n",
            "You are given a list of list of numbers for the current board state.\n",
            "Output one action for \"W\", \"A\", \"S\", \"D\" on what is the optimal next step.\n",
            "Output your new short function in backticks using the format below:\n",
            "```python\n",
            "def strategy(board):\n",
            "    return \"W\" # Example\n",
            "```\n",
            "All helper functions should be inside def strategy. Only output the short function `strategy`.<|end|><|start|>assistant<|channel|>analysis<|message|>Need simple heuristic: pick move that maximizes merged tiles. Score by sum of resulting board. Implement simulation of each move without random tiles. Return best.<|end|><|start|>assistant<|channel|>final<|message|>```python\n",
            "def strategy(board):\n",
            "    import copy\n",
            "    dirs = {'W':(-1,0),'S':(1,0),'A':(0,-1),'D':(0,1)}\n",
            "    def mv(b, d):\n",
            "        dr,dc=d\n",
            "        n=len(b)\n",
            "        res=[[0]*n for _ in range(n)]\n",
            "        for i in range(n):\n",
            "            line=[]\n",
            "            for j in range(n):\n",
            "                r,c=i+dr*j, j+dc*i if d in 'W' else j+dc*i\n",
            "                if d in 'WA': r,c=j,i+dc*j\n",
            "                val=b[r][c]\n",
            "                if val: line.append(val)\n",
            "            merged=[]\n",
            "            skip=False\n",
            "            for k,v in enumerate(line):\n",
            "                if skip: skip=False; continue\n",
            "                if k+1<len(line) and line[k+1]==v:\n",
            "                    merged.append(v*2); skip=True\n",
            "                else: merged.append(v)\n",
            "            for k,v in enumerate(merged):\n",
            "                if d=='W': res[i][k]=v\n",
            "                elif d=='S': res[i][n-1-k]=v\n",
            "                elif d=='A': res[k][i]=v\n",
            "                else: res[n-1-k][i]=v\n",
            "        return res\n",
            "    best='W'; bestval=-1\n",
            "    for k,v in dirs.items():\n",
            "        try:\n",
            "            val=sum(map(sum,mv(board,v)))\n",
            "            if val>bestval: bestval=val; best=k\n",
            "        except: pass\n",
            "    return best\n",
            "```<|return|>\n"
          ]
        }
      ],
      "source": [
        "text = tokenizer.apply_chat_template(\n",
        "    [{\"role\": \"user\", \"content\": prompt}],\n",
        "    tokenize = False,\n",
        "    add_generation_prompt = True,\n",
        "    reasoning_effort = \"low\",\n",
        ")\n",
        "\n",
        "from transformers import TextStreamer\n",
        "_ = model.generate(\n",
        "    **tokenizer(text, return_tensors = \"pt\").to(\"cuda\"),\n",
        "    temperature = 1.0,\n",
        "    max_new_tokens = 512,\n",
        "    streamer = TextStreamer(tokenizer, skip_prompt = False),\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "iknaWZNudTNq"
      },
      "source": [
        "# Reward functions\n",
        "\n",
        "We now design a `extract_function` function which simply extracts the function wrapped in 3 back ticks.\n",
        "\n",
        "And 3 reward functions:\n",
        "\n",
        "1. `function_works` which rewards the model if the strategy is a valid Python function.\n",
        "2. `no_cheating` which checks if the function imported other modules, and if it did, we penalize it.\n",
        "3. `strategy_succeeds` which checks if the game strategy actually succeeds in attaining 2048 after running the auto-generated strategy."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "8JJGXKdJ-Zl_",
        "outputId": "04338b0e-5bf9-4352-d6b3-f1bc708424a4"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "def strategy(board):\n",
            "    return \"W\" # Example\n"
          ]
        }
      ],
      "source": [
        "def extract_function(text):\n",
        "    if text.count(\"```\") >= 2:\n",
        "        first = text.find(\"```\") + 3\n",
        "        second = text.find(\"```\", first)\n",
        "        fx = text[first : second].strip()\n",
        "        fx = fx.removeprefix(\"python\\n\")\n",
        "        fx = fx[fx.find(\"def\"):]\n",
        "        if fx.startswith(\"def strategy(board):\"): return fx\n",
        "    return None\n",
        "print(extract_function(prompt))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "KLXEcf_HSJlI"
      },
      "source": [
        "Below is our `function_works` reward function which uses Python's `exec` but guarded by not allowing leakage of local and global variables. We can also use `check_python_modules` first to check if there are errors before even executing the function:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "h3-B0IIsS56S",
        "outputId": "70d86c4f-0d4c-4254-bc17-7ef117f4a81d"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "(False,\n",
              " {'error': \"SyntaxError: expected '(' (<unknown>, line 1)\",\n",
              "  'stdlib': [],\n",
              "  'non_stdlib': [],\n",
              "  'relative_imports': 0})"
            ]
          },
          "execution_count": 23,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "ok, info = check_python_modules(\"def a\")\n",
        "ok, info"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "qgFNXORy-lpO"
      },
      "outputs": [],
      "source": [
        "def function_works(completions, **kwargs):\n",
        "    scores = []\n",
        "    for completion in completions:\n",
        "        score = 0\n",
        "        response = completion[0][\"content\"]\n",
        "        function = extract_function(response)\n",
        "        if function is not None:\n",
        "            ok, info = check_python_modules(function)\n",
        "        if function is None or \"error\" in info:\n",
        "            score = -2.0\n",
        "        else:\n",
        "            try:\n",
        "                new_strategy = create_locked_down_function(function)\n",
        "                score = 1.0\n",
        "            except:\n",
        "                score = -0.5\n",
        "        scores.append(score)\n",
        "    return scores"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Gf69i2WT-m4K"
      },
      "source": [
        "`no_cheating` checks if the function cheated since it might have imported Numpy or other functions:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "cUfHzCVx-nGK"
      },
      "outputs": [],
      "source": [
        "def no_cheating(completions, **kwargs):\n",
        "    scores = []\n",
        "    for completion in completions:\n",
        "        score = 0\n",
        "        response = completion[0][\"content\"]\n",
        "        function = extract_function(response)\n",
        "        if function is not None:\n",
        "            ok, info = check_python_modules(function)\n",
        "            scores.append(1.0 if ok else -20.0) # Penalize heavily!\n",
        "        else:\n",
        "            scores.append(-1.0) # Failed creating function\n",
        "    return scores"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "slnqWG3FTror"
      },
      "source": [
        "Next `strategy_succeeds` checks if the strategy actually allows the game to terminate. Imagine if the strategy simply returned \"W\" which would fail after a time limit of 10 seconds.\n",
        "\n",
        "We also add a global `PRINTER` to print out the strategy and board state."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "sNi129lYTpZ2"
      },
      "outputs": [],
      "source": [
        "import numpy as np\n",
        "global PRINTER\n",
        "PRINTER = 0\n",
        "def strategy_succeeds(completions, **kwargs):\n",
        "    global PRINTER\n",
        "    scores = []\n",
        "    # Generate a random game board with seed\n",
        "    seed = np.random.randint(10000)\n",
        "    for completion in completions:\n",
        "        printed = False\n",
        "        score = 0\n",
        "        response = completion[0][\"content\"]\n",
        "        function = extract_function(response)\n",
        "        if PRINTER % 5 == 0:\n",
        "            printed = True\n",
        "            print(function)\n",
        "        PRINTER += 1\n",
        "        if function is not None:\n",
        "            ok, info = check_python_modules(function)\n",
        "        if function is None or \"error\" in info:\n",
        "            scores.append(0)\n",
        "            continue\n",
        "        try:\n",
        "            new_strategy = create_locked_down_function(function)\n",
        "        except:\n",
        "            scores.append(0)\n",
        "            continue\n",
        "        try:\n",
        "            game = GameBoard(size = 6, seed = seed, target = 2048, probability_fours = 0.10)\n",
        "            steps, game_state = execute_strategy(new_strategy, game)\n",
        "            print(f\"Steps = {steps} State = {game_state}\")\n",
        "            if printed is False:\n",
        "                print(function)\n",
        "            print(game.board().pretty())\n",
        "            if game_state == \"success\":\n",
        "                scores.append(20.0) # Success - massively reward!\n",
        "            else:\n",
        "                scores.append(2.0) # Failed but function works!\n",
        "        except TimeoutError as e:\n",
        "            print(\"Timeout\")\n",
        "            scores.append(-1.0) # Failed with timeout\n",
        "        except Exception as e:\n",
        "            print(f\"Exception = {str(e)}\")\n",
        "            scores.append(-3.0) # Failed\n",
        "    return scores"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "TCpSxtvSeAG_"
      },
      "source": [
        "We'll now create the dataset which includes a replica of our prompt. Remember to add a reasoning effort of low! You can choose high reasoning mode, but this'll only work on more memory GPUs like MI300s."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Ldf6SjLHVPRv",
        "outputId": "93f1f6cd-6c65-4c29-c720-200bd44f225a"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "181\n"
          ]
        },
        {
          "data": {
            "text/plain": [
              "{'prompt': [{'content': 'Create a new short 2048 strategy using only native Python code.\\nYou are given a list of list of numbers for the current board state.\\nOutput one action for \"W\", \"A\", \"S\", \"D\" on what is the optimal next step.\\nOutput your new short function in backticks using the format below:\\n```python\\ndef strategy(board):\\n    return \"W\" # Example\\n```\\nAll helper functions should be inside def strategy. Only output the short function `strategy`.',\n",
              "   'role': 'user'}],\n",
              " 'answer': 0,\n",
              " 'reasoning_effort': 'low'}"
            ]
          },
          "execution_count": 27,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "from datasets import Dataset\n",
        "dataset = Dataset.from_list([{\"prompt\" : [{\"role\": \"user\", \"content\": prompt.strip()}], \"answer\" : 0, \"reasoning_effort\": \"low\"}]*1000)\n",
        "maximum_length = len(tokenizer.apply_chat_template([{\"role\": \"user\", \"content\": prompt.strip()}], add_generation_prompt = True))\n",
        "print(maximum_length)\n",
        "dataset[0]"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "9-IOMhVg-2AM"
      },
      "source": [
        "<a name=\"Train\"></a>\n",
        "### Train the model\n",
        "\n",
        "Now set up GRPO Trainer and all configurations! We also support GSPO, GAPO, Dr GRPO and more! Go the Unsloth [Reinforcement Learning Docs](https://docs.unsloth.ai/get-started/reinforcement-learning-rl-guide) for more options."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ptqkXK2D4d6p",
        "outputId": "ad590a7c-1763-43c6-f0c1-c980689c8ced"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Unsloth: We now expect `per_device_train_batch_size` to be a multiple of `num_generations`.\n",
            "We will change the batch size of 1 to the `num_generations` of 2\n"
          ]
        }
      ],
      "source": [
        "max_prompt_length = maximum_length + 1 # + 1 just in case!\n",
        "max_completion_length = max_seq_length - max_prompt_length\n",
        "\n",
        "from trl import GRPOConfig, GRPOTrainer\n",
        "training_args = GRPOConfig(\n",
        "    temperature = 1.0,\n",
        "    learning_rate = 5e-5,\n",
        "    weight_decay = 0.001,\n",
        "    warmup_ratio = 0.1,\n",
        "    lr_scheduler_type = \"linear\",\n",
        "    optim = \"adamw_8bit\",\n",
        "    logging_steps = 1,\n",
        "    per_device_train_batch_size = 1,\n",
        "    gradient_accumulation_steps = 1, # Increase to 4 for smoother training\n",
        "    num_generations = 2, # Decrease if out of memory\n",
        "    max_prompt_length = max_prompt_length,\n",
        "    max_completion_length = max_completion_length,\n",
        "    # num_train_epochs = 1, # Set to 1 for a full training run\n",
        "    max_steps = 600,\n",
        "    save_steps = 100,\n",
        "    report_to = \"none\", # Can use Weights & Biases, TrackIO\n",
        "    output_dir = \"outputs\",\n",
        "\n",
        "    # For optional training + evaluation\n",
        "    # fp16_full_eval = True,\n",
        "    # per_device_eval_batch_size = 4,\n",
        "    # eval_accumulation_steps = 1,\n",
        "    # eval_strategy = \"steps\",\n",
        "    # eval_steps = 1,\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "r9Mv8UZO5hz-"
      },
      "source": [
        "And let's run the trainer! If you scroll up, you'll see a table of rewards. The goal is to see the `reward` column increase!\n",
        "\n",
        "You might have to wait 150 to 200 steps for any action. You'll probably get 0 reward for the first 100 steps. Please be patient!\n",
        "\n",
        "| Step | Training Loss | reward    | reward_std | completion_length | kl       |\n",
        "|------|---------------|-----------|------------|-------------------|----------|\n",
        "| 1    | 0.000000      | 0.125000  | 0.000000   | 200.000000        | 0.000000 |\n",
        "| 2    | 0.000000      | 0.072375  | 0.248112   | 200.000000        | 0.000000 |\n",
        "| 3    | 0.000000      | -0.079000 | 0.163776   | 182.500000        | 0.000005 |\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "vzOuSVCL_GA9"
      },
      "outputs": [],
      "source": [
        "# For optional training + evaluation\n",
        "# new_dataset = dataset.train_test_split(test_size = 0.01)\n",
        "\n",
        "trainer = GRPOTrainer(\n",
        "    model = model,\n",
        "    processing_class = tokenizer,\n",
        "    reward_funcs = [\n",
        "        function_works,\n",
        "        no_cheating,\n",
        "        strategy_succeeds,\n",
        "    ],\n",
        "    args = training_args,\n",
        "    train_dataset = dataset,\n",
        "\n",
        "    # For optional training + evaluation\n",
        "    # train_dataset = new_dataset[\"train\"],\n",
        "    # eval_dataset = new_dataset[\"test\"],\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "fQhtuwP4cf34"
      },
      "source": [
        "And let's train the model!\n",
        "\n",
        "**NOTE** This might be quite slow! 600 steps takes ~5 hours or longer."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "VGRxPdSCcfC3",
        "outputId": "bf177e3c-d9b1-4d51-a1f5-7e5c353446c4"
      },
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "The tokenizer has new PAD/BOS/EOS tokens that differ from the model config and generation config. The model config and generation config were aligned accordingly, being updated with the tokenizer's values. Updated tokens: {'bos_token_id': 199998}.\n",
            "==((====))==  Unsloth - 2x faster free finetuning | Num GPUs used = 1\n",
            "   \\\\   /|    Num examples = 1,000 | Num Epochs = 1 | Total steps = 600\n",
            "O^O/ \\_/ \\    Batch size per device = 2 | Gradient accumulation steps = 1\n",
            "\\        /    Data Parallel GPUs = 1 | Total batch size (2 x 1 x 1) = 2\n",
            " \"-____-\"     Trainable parameters = 1,990,656 of 20,916,747,840 (0.01% trained)\n",
            "`generation_config` default values have been modified to match model-specific defaults: {'max_length': 131072}. If this is not desired, please set these values explicitly.\n"
          ]
        },
        {
          "data": {
            "text/html": [
              "\n",
              "    <div>\n",
              "      \n",
              "      <progress value='434' max='600' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
              "      [434/600 4:48:18 < 1:50:46, 0.02 it/s, Epoch 0.43/1]\n",
              "    </div>\n",
              "    <table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              " <tr style=\"text-align: left;\">\n",
              "      <th>Step</th>\n",
              "      <th>Training Loss</th>\n",
              "      <th>reward</th>\n",
              "      <th>reward_std</th>\n",
              "      <th>completions / mean_length</th>\n",
              "      <th>completions / min_length</th>\n",
              "      <th>completions / max_length</th>\n",
              "      <th>completions / clipped_ratio</th>\n",
              "      <th>completions / mean_terminated_length</th>\n",
              "      <th>completions / min_terminated_length</th>\n",
              "      <th>completions / max_terminated_length</th>\n",
              "      <th>kl</th>\n",
              "      <th>rewards / function_works / mean</th>\n",
              "      <th>rewards / function_works / std</th>\n",
              "      <th>rewards / no_cheating / mean</th>\n",
              "      <th>rewards / no_cheating / std</th>\n",
              "      <th>rewards / strategy_succeeds / mean</th>\n",
              "      <th>rewards / strategy_succeeds / std</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <td>1</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>429.500000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>429.500000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>0.002332</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>2</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.250000</td>\n",
              "      <td>2.474874</td>\n",
              "      <td>519.000000</td>\n",
              "      <td>452.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>452.000000</td>\n",
              "      <td>452.000000</td>\n",
              "      <td>452.000000</td>\n",
              "      <td>0.002923</td>\n",
              "      <td>-1.250000</td>\n",
              "      <td>1.060660</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>3</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>346.000000</td>\n",
              "      <td>436.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>346.000000</td>\n",
              "      <td>436.000000</td>\n",
              "      <td>0.003081</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>4</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>317.000000</td>\n",
              "      <td>274.000000</td>\n",
              "      <td>360.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>317.000000</td>\n",
              "      <td>274.000000</td>\n",
              "      <td>360.000000</td>\n",
              "      <td>0.003505</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>5</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>327.500000</td>\n",
              "      <td>230.000000</td>\n",
              "      <td>425.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>327.500000</td>\n",
              "      <td>230.000000</td>\n",
              "      <td>425.000000</td>\n",
              "      <td>0.009857</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>6</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>413.500000</td>\n",
              "      <td>392.000000</td>\n",
              "      <td>435.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>413.500000</td>\n",
              "      <td>392.000000</td>\n",
              "      <td>435.000000</td>\n",
              "      <td>0.001093</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>7</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>433.000000</td>\n",
              "      <td>280.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>280.000000</td>\n",
              "      <td>280.000000</td>\n",
              "      <td>280.000000</td>\n",
              "      <td>0.005341</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>8</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>505.500000</td>\n",
              "      <td>425.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>425.000000</td>\n",
              "      <td>425.000000</td>\n",
              "      <td>425.000000</td>\n",
              "      <td>0.002836</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>9</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.500000</td>\n",
              "      <td>3.535534</td>\n",
              "      <td>356.000000</td>\n",
              "      <td>250.000000</td>\n",
              "      <td>462.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>356.000000</td>\n",
              "      <td>250.000000</td>\n",
              "      <td>462.000000</td>\n",
              "      <td>0.005370</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>3.535534</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>10</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>345.500000</td>\n",
              "      <td>223.000000</td>\n",
              "      <td>468.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>345.500000</td>\n",
              "      <td>223.000000</td>\n",
              "      <td>468.000000</td>\n",
              "      <td>0.006166</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>11</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>392.000000</td>\n",
              "      <td>436.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>392.000000</td>\n",
              "      <td>436.000000</td>\n",
              "      <td>0.002352</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>12</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>387.000000</td>\n",
              "      <td>278.000000</td>\n",
              "      <td>496.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>387.000000</td>\n",
              "      <td>278.000000</td>\n",
              "      <td>496.000000</td>\n",
              "      <td>0.005558</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>13</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>339.500000</td>\n",
              "      <td>314.000000</td>\n",
              "      <td>365.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>339.500000</td>\n",
              "      <td>314.000000</td>\n",
              "      <td>365.000000</td>\n",
              "      <td>0.001600</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>14</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>412.500000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>412.500000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>0.001724</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>15</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>556.500000</td>\n",
              "      <td>527.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>527.000000</td>\n",
              "      <td>527.000000</td>\n",
              "      <td>527.000000</td>\n",
              "      <td>0.002466</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-1.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>16</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>520.500000</td>\n",
              "      <td>455.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>455.000000</td>\n",
              "      <td>455.000000</td>\n",
              "      <td>455.000000</td>\n",
              "      <td>0.002554</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>17</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>439.500000</td>\n",
              "      <td>293.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>293.000000</td>\n",
              "      <td>293.000000</td>\n",
              "      <td>293.000000</td>\n",
              "      <td>0.007403</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>18</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>472.000000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>495.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>472.000000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>495.000000</td>\n",
              "      <td>0.002674</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>-9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>19</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>348.000000</td>\n",
              "      <td>516.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>348.000000</td>\n",
              "      <td>516.000000</td>\n",
              "      <td>0.010718</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>20</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>458.000000</td>\n",
              "      <td>330.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>330.000000</td>\n",
              "      <td>330.000000</td>\n",
              "      <td>330.000000</td>\n",
              "      <td>0.017924</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-1.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>21</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>487.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>0.022975</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-1.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>22</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>506.000000</td>\n",
              "      <td>426.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>426.000000</td>\n",
              "      <td>426.000000</td>\n",
              "      <td>426.000000</td>\n",
              "      <td>0.015738</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>23</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>436.500000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>436.500000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>0.035768</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>24</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>365.500000</td>\n",
              "      <td>359.000000</td>\n",
              "      <td>372.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>365.500000</td>\n",
              "      <td>359.000000</td>\n",
              "      <td>372.000000</td>\n",
              "      <td>0.002027</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>25</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>376.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>376.000000</td>\n",
              "      <td>376.000000</td>\n",
              "      <td>376.000000</td>\n",
              "      <td>0.092577</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>26</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>490.500000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>554.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>490.500000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>554.000000</td>\n",
              "      <td>0.068258</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>27</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>329.000000</td>\n",
              "      <td>296.000000</td>\n",
              "      <td>362.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>329.000000</td>\n",
              "      <td>296.000000</td>\n",
              "      <td>362.000000</td>\n",
              "      <td>0.043497</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>28</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>-10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>350.500000</td>\n",
              "      <td>191.000000</td>\n",
              "      <td>510.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>350.500000</td>\n",
              "      <td>191.000000</td>\n",
              "      <td>510.000000</td>\n",
              "      <td>0.306294</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>-9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>29</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>517.500000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>0.139758</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>30</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>426.500000</td>\n",
              "      <td>374.000000</td>\n",
              "      <td>479.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>426.500000</td>\n",
              "      <td>374.000000</td>\n",
              "      <td>479.000000</td>\n",
              "      <td>0.121626</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>31</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>365.500000</td>\n",
              "      <td>343.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>365.500000</td>\n",
              "      <td>343.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>0.061004</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>32</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>-11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>404.000000</td>\n",
              "      <td>356.000000</td>\n",
              "      <td>452.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>404.000000</td>\n",
              "      <td>356.000000</td>\n",
              "      <td>452.000000</td>\n",
              "      <td>0.162440</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>-9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>-1.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>33</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>366.500000</td>\n",
              "      <td>317.000000</td>\n",
              "      <td>416.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>366.500000</td>\n",
              "      <td>317.000000</td>\n",
              "      <td>416.000000</td>\n",
              "      <td>0.212488</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>8.500000</td>\n",
              "      <td>16.263456</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>34</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>493.500000</td>\n",
              "      <td>401.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>401.000000</td>\n",
              "      <td>401.000000</td>\n",
              "      <td>401.000000</td>\n",
              "      <td>0.391830</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-1.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>35</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>472.500000</td>\n",
              "      <td>439.000000</td>\n",
              "      <td>506.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>472.500000</td>\n",
              "      <td>439.000000</td>\n",
              "      <td>506.000000</td>\n",
              "      <td>0.137745</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>36</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>427.500000</td>\n",
              "      <td>353.000000</td>\n",
              "      <td>502.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>427.500000</td>\n",
              "      <td>353.000000</td>\n",
              "      <td>502.000000</td>\n",
              "      <td>0.379335</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>37</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>352.500000</td>\n",
              "      <td>327.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>352.500000</td>\n",
              "      <td>327.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>0.134368</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>38</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>364.000000</td>\n",
              "      <td>356.000000</td>\n",
              "      <td>372.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>364.000000</td>\n",
              "      <td>356.000000</td>\n",
              "      <td>372.000000</td>\n",
              "      <td>0.014164</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>39</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>389.500000</td>\n",
              "      <td>303.000000</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>389.500000</td>\n",
              "      <td>303.000000</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>0.604766</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>40</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>352.000000</td>\n",
              "      <td>262.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>352.000000</td>\n",
              "      <td>262.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>0.588745</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>41</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>419.500000</td>\n",
              "      <td>405.000000</td>\n",
              "      <td>434.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>419.500000</td>\n",
              "      <td>405.000000</td>\n",
              "      <td>434.000000</td>\n",
              "      <td>0.048387</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>42</td>\n",
              "      <td>0.001000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>4.949748</td>\n",
              "      <td>396.500000</td>\n",
              "      <td>207.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>207.000000</td>\n",
              "      <td>207.000000</td>\n",
              "      <td>207.000000</td>\n",
              "      <td>0.962396</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>43</td>\n",
              "      <td>0.000900</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>443.500000</td>\n",
              "      <td>301.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>301.000000</td>\n",
              "      <td>301.000000</td>\n",
              "      <td>301.000000</td>\n",
              "      <td>0.862072</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>44</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>453.500000</td>\n",
              "      <td>325.000000</td>\n",
              "      <td>582.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>453.500000</td>\n",
              "      <td>325.000000</td>\n",
              "      <td>582.000000</td>\n",
              "      <td>0.736291</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>45</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>502.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>521.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>502.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>521.000000</td>\n",
              "      <td>0.081093</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>46</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>404.000000</td>\n",
              "      <td>327.000000</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>404.000000</td>\n",
              "      <td>327.000000</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>0.483280</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>47</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>4.949748</td>\n",
              "      <td>548.000000</td>\n",
              "      <td>510.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>510.000000</td>\n",
              "      <td>510.000000</td>\n",
              "      <td>510.000000</td>\n",
              "      <td>0.195080</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>48</td>\n",
              "      <td>0.000900</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>262.000000</td>\n",
              "      <td>504.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>262.000000</td>\n",
              "      <td>504.000000</td>\n",
              "      <td>0.864801</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-3.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>49</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>395.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>395.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>0.039548</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>50</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>393.500000</td>\n",
              "      <td>336.000000</td>\n",
              "      <td>451.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>393.500000</td>\n",
              "      <td>336.000000</td>\n",
              "      <td>451.000000</td>\n",
              "      <td>0.443114</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>51</td>\n",
              "      <td>0.001000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>440.000000</td>\n",
              "      <td>294.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>294.000000</td>\n",
              "      <td>294.000000</td>\n",
              "      <td>294.000000</td>\n",
              "      <td>1.009106</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>52</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>411.500000</td>\n",
              "      <td>398.000000</td>\n",
              "      <td>425.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>411.500000</td>\n",
              "      <td>398.000000</td>\n",
              "      <td>425.000000</td>\n",
              "      <td>0.065966</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>53</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>392.000000</td>\n",
              "      <td>424.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>392.000000</td>\n",
              "      <td>424.000000</td>\n",
              "      <td>0.085453</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>54</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>393.000000</td>\n",
              "      <td>316.000000</td>\n",
              "      <td>470.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>393.000000</td>\n",
              "      <td>316.000000</td>\n",
              "      <td>470.000000</td>\n",
              "      <td>0.605383</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>55</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>462.500000</td>\n",
              "      <td>411.000000</td>\n",
              "      <td>514.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>462.500000</td>\n",
              "      <td>411.000000</td>\n",
              "      <td>514.000000</td>\n",
              "      <td>0.336133</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>56</td>\n",
              "      <td>0.002300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>236.500000</td>\n",
              "      <td>35.000000</td>\n",
              "      <td>438.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>236.500000</td>\n",
              "      <td>35.000000</td>\n",
              "      <td>438.000000</td>\n",
              "      <td>2.339079</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>57</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>378.500000</td>\n",
              "      <td>350.000000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>378.500000</td>\n",
              "      <td>350.000000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>0.230687</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>58</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>362.000000</td>\n",
              "      <td>324.000000</td>\n",
              "      <td>400.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>362.000000</td>\n",
              "      <td>324.000000</td>\n",
              "      <td>400.000000</td>\n",
              "      <td>0.288407</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>59</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>362.000000</td>\n",
              "      <td>273.000000</td>\n",
              "      <td>451.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>362.000000</td>\n",
              "      <td>273.000000</td>\n",
              "      <td>451.000000</td>\n",
              "      <td>0.842441</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>60</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>377.500000</td>\n",
              "      <td>342.000000</td>\n",
              "      <td>413.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>377.500000</td>\n",
              "      <td>342.000000</td>\n",
              "      <td>413.000000</td>\n",
              "      <td>0.304021</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>61</td>\n",
              "      <td>0.002300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>416.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>454.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>416.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>454.000000</td>\n",
              "      <td>2.297366</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>62</td>\n",
              "      <td>0.003600</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>388.500000</td>\n",
              "      <td>280.000000</td>\n",
              "      <td>497.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>388.500000</td>\n",
              "      <td>280.000000</td>\n",
              "      <td>497.000000</td>\n",
              "      <td>3.621714</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>63</td>\n",
              "      <td>0.001200</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>17.677670</td>\n",
              "      <td>540.000000</td>\n",
              "      <td>494.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>494.000000</td>\n",
              "      <td>494.000000</td>\n",
              "      <td>494.000000</td>\n",
              "      <td>1.174912</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>10.000000</td>\n",
              "      <td>14.142136</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>64</td>\n",
              "      <td>0.003000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>356.500000</td>\n",
              "      <td>321.000000</td>\n",
              "      <td>392.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>356.500000</td>\n",
              "      <td>321.000000</td>\n",
              "      <td>392.000000</td>\n",
              "      <td>3.025201</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>65</td>\n",
              "      <td>0.001600</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>525.000000</td>\n",
              "      <td>464.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>464.000000</td>\n",
              "      <td>464.000000</td>\n",
              "      <td>464.000000</td>\n",
              "      <td>1.621681</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>66</td>\n",
              "      <td>0.001400</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>479.500000</td>\n",
              "      <td>373.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>373.000000</td>\n",
              "      <td>373.000000</td>\n",
              "      <td>373.000000</td>\n",
              "      <td>1.405418</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-1.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>67</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>501.500000</td>\n",
              "      <td>469.000000</td>\n",
              "      <td>534.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>501.500000</td>\n",
              "      <td>469.000000</td>\n",
              "      <td>534.000000</td>\n",
              "      <td>0.201620</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>68</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>504.500000</td>\n",
              "      <td>423.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>423.000000</td>\n",
              "      <td>423.000000</td>\n",
              "      <td>423.000000</td>\n",
              "      <td>0.587288</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-1.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>69</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>370.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>370.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>0.016746</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>70</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>453.500000</td>\n",
              "      <td>372.000000</td>\n",
              "      <td>535.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>453.500000</td>\n",
              "      <td>372.000000</td>\n",
              "      <td>535.000000</td>\n",
              "      <td>0.517199</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>71</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>556.000000</td>\n",
              "      <td>526.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>526.000000</td>\n",
              "      <td>526.000000</td>\n",
              "      <td>526.000000</td>\n",
              "      <td>0.162072</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>72</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>359.500000</td>\n",
              "      <td>322.000000</td>\n",
              "      <td>397.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>359.500000</td>\n",
              "      <td>322.000000</td>\n",
              "      <td>397.000000</td>\n",
              "      <td>0.314493</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>73</td>\n",
              "      <td>0.001000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>252.000000</td>\n",
              "      <td>504.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>252.000000</td>\n",
              "      <td>504.000000</td>\n",
              "      <td>0.983742</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>74</td>\n",
              "      <td>0.001000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>324.500000</td>\n",
              "      <td>211.000000</td>\n",
              "      <td>438.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>324.500000</td>\n",
              "      <td>211.000000</td>\n",
              "      <td>438.000000</td>\n",
              "      <td>0.950915</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>75</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>488.000000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>0.661162</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>76</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>327.500000</td>\n",
              "      <td>314.000000</td>\n",
              "      <td>341.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>327.500000</td>\n",
              "      <td>314.000000</td>\n",
              "      <td>341.000000</td>\n",
              "      <td>0.068757</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-3.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>77</td>\n",
              "      <td>0.001400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>309.000000</td>\n",
              "      <td>176.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>309.000000</td>\n",
              "      <td>176.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>1.429187</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>78</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>414.500000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>423.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>414.500000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>423.000000</td>\n",
              "      <td>0.021560</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-3.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>79</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>444.500000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>444.500000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>0.229670</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>80</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>468.500000</td>\n",
              "      <td>441.000000</td>\n",
              "      <td>496.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>468.500000</td>\n",
              "      <td>441.000000</td>\n",
              "      <td>496.000000</td>\n",
              "      <td>0.138239</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>81</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>422.000000</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>453.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>422.000000</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>453.000000</td>\n",
              "      <td>0.213007</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>82</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>411.000000</td>\n",
              "      <td>376.000000</td>\n",
              "      <td>446.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>411.000000</td>\n",
              "      <td>376.000000</td>\n",
              "      <td>446.000000</td>\n",
              "      <td>0.195746</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>83</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>-10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>352.500000</td>\n",
              "      <td>323.000000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>352.500000</td>\n",
              "      <td>323.000000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>0.177328</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>-9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>84</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>421.000000</td>\n",
              "      <td>345.000000</td>\n",
              "      <td>497.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>421.000000</td>\n",
              "      <td>345.000000</td>\n",
              "      <td>497.000000</td>\n",
              "      <td>0.533636</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>85</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>370.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>370.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>0.030639</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>86</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>369.000000</td>\n",
              "      <td>349.000000</td>\n",
              "      <td>389.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>369.000000</td>\n",
              "      <td>349.000000</td>\n",
              "      <td>389.000000</td>\n",
              "      <td>0.113898</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>87</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>399.000000</td>\n",
              "      <td>327.000000</td>\n",
              "      <td>471.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>399.000000</td>\n",
              "      <td>327.000000</td>\n",
              "      <td>471.000000</td>\n",
              "      <td>0.528262</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>88</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>315.000000</td>\n",
              "      <td>281.000000</td>\n",
              "      <td>349.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>315.000000</td>\n",
              "      <td>281.000000</td>\n",
              "      <td>349.000000</td>\n",
              "      <td>0.285510</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>89</td>\n",
              "      <td>0.000900</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>394.500000</td>\n",
              "      <td>270.000000</td>\n",
              "      <td>519.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>394.500000</td>\n",
              "      <td>270.000000</td>\n",
              "      <td>519.000000</td>\n",
              "      <td>0.945825</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>90</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>385.500000</td>\n",
              "      <td>339.000000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>385.500000</td>\n",
              "      <td>339.000000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>0.366569</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>91</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>319.500000</td>\n",
              "      <td>272.000000</td>\n",
              "      <td>367.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>319.500000</td>\n",
              "      <td>272.000000</td>\n",
              "      <td>367.000000</td>\n",
              "      <td>0.408200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>92</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>399.500000</td>\n",
              "      <td>375.000000</td>\n",
              "      <td>424.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>399.500000</td>\n",
              "      <td>375.000000</td>\n",
              "      <td>424.000000</td>\n",
              "      <td>0.180263</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>93</td>\n",
              "      <td>0.000900</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>319.000000</td>\n",
              "      <td>228.000000</td>\n",
              "      <td>410.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>319.000000</td>\n",
              "      <td>228.000000</td>\n",
              "      <td>410.000000</td>\n",
              "      <td>0.856983</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-3.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>94</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>364.500000</td>\n",
              "      <td>362.000000</td>\n",
              "      <td>367.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>364.500000</td>\n",
              "      <td>362.000000</td>\n",
              "      <td>367.000000</td>\n",
              "      <td>0.009420</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>95</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>431.000000</td>\n",
              "      <td>402.000000</td>\n",
              "      <td>460.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>431.000000</td>\n",
              "      <td>402.000000</td>\n",
              "      <td>460.000000</td>\n",
              "      <td>0.200982</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>96</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>531.000000</td>\n",
              "      <td>493.000000</td>\n",
              "      <td>569.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>531.000000</td>\n",
              "      <td>493.000000</td>\n",
              "      <td>569.000000</td>\n",
              "      <td>0.230757</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>97</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>488.000000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>0.789454</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>98</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>331.000000</td>\n",
              "      <td>234.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>331.000000</td>\n",
              "      <td>234.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>0.736185</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>99</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>462.000000</td>\n",
              "      <td>422.000000</td>\n",
              "      <td>502.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>462.000000</td>\n",
              "      <td>422.000000</td>\n",
              "      <td>502.000000</td>\n",
              "      <td>0.286563</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>443.500000</td>\n",
              "      <td>436.000000</td>\n",
              "      <td>451.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>443.500000</td>\n",
              "      <td>436.000000</td>\n",
              "      <td>451.000000</td>\n",
              "      <td>0.022389</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>101</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>417.500000</td>\n",
              "      <td>413.000000</td>\n",
              "      <td>422.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>417.500000</td>\n",
              "      <td>413.000000</td>\n",
              "      <td>422.000000</td>\n",
              "      <td>0.009263</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>102</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>349.000000</td>\n",
              "      <td>296.000000</td>\n",
              "      <td>402.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>349.000000</td>\n",
              "      <td>296.000000</td>\n",
              "      <td>402.000000</td>\n",
              "      <td>0.479079</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>103</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>349.000000</td>\n",
              "      <td>336.000000</td>\n",
              "      <td>362.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>349.000000</td>\n",
              "      <td>336.000000</td>\n",
              "      <td>362.000000</td>\n",
              "      <td>0.081661</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>104</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>487.000000</td>\n",
              "      <td>485.000000</td>\n",
              "      <td>489.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>487.000000</td>\n",
              "      <td>485.000000</td>\n",
              "      <td>489.000000</td>\n",
              "      <td>0.005531</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>105</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>371.000000</td>\n",
              "      <td>401.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>371.000000</td>\n",
              "      <td>401.000000</td>\n",
              "      <td>0.088444</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>106</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>486.000000</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>486.000000</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>0.009448</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>107</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>317.500000</td>\n",
              "      <td>225.000000</td>\n",
              "      <td>410.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>317.500000</td>\n",
              "      <td>225.000000</td>\n",
              "      <td>410.000000</td>\n",
              "      <td>0.809816</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>108</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>385.000000</td>\n",
              "      <td>304.000000</td>\n",
              "      <td>466.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>385.000000</td>\n",
              "      <td>304.000000</td>\n",
              "      <td>466.000000</td>\n",
              "      <td>0.603638</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>109</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>431.000000</td>\n",
              "      <td>368.000000</td>\n",
              "      <td>494.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>431.000000</td>\n",
              "      <td>368.000000</td>\n",
              "      <td>494.000000</td>\n",
              "      <td>0.443367</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>110</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>350.000000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>350.000000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>0.268684</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>111</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>463.500000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>500.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>463.500000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>500.000000</td>\n",
              "      <td>0.226992</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>112</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>441.500000</td>\n",
              "      <td>425.000000</td>\n",
              "      <td>458.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>441.500000</td>\n",
              "      <td>425.000000</td>\n",
              "      <td>458.000000</td>\n",
              "      <td>0.088375</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>113</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>513.000000</td>\n",
              "      <td>440.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>440.000000</td>\n",
              "      <td>440.000000</td>\n",
              "      <td>440.000000</td>\n",
              "      <td>0.507206</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>114</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>475.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>547.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>475.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>547.000000</td>\n",
              "      <td>0.476734</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>115</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>472.000000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>517.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>472.000000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>517.000000</td>\n",
              "      <td>0.325248</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>116</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>387.000000</td>\n",
              "      <td>375.000000</td>\n",
              "      <td>399.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>387.000000</td>\n",
              "      <td>375.000000</td>\n",
              "      <td>399.000000</td>\n",
              "      <td>0.052931</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>117</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>547.000000</td>\n",
              "      <td>508.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>508.000000</td>\n",
              "      <td>508.000000</td>\n",
              "      <td>508.000000</td>\n",
              "      <td>0.258358</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>118</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>457.500000</td>\n",
              "      <td>434.000000</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>457.500000</td>\n",
              "      <td>434.000000</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>0.149202</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>119</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>411.000000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>415.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>411.000000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>415.000000</td>\n",
              "      <td>0.009152</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>120</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>456.000000</td>\n",
              "      <td>441.000000</td>\n",
              "      <td>471.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>456.000000</td>\n",
              "      <td>441.000000</td>\n",
              "      <td>471.000000</td>\n",
              "      <td>0.083470</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>121</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>448.500000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>448.500000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>0.241433</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>122</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>347.500000</td>\n",
              "      <td>291.000000</td>\n",
              "      <td>404.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>347.500000</td>\n",
              "      <td>291.000000</td>\n",
              "      <td>404.000000</td>\n",
              "      <td>0.496667</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>123</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>485.000000</td>\n",
              "      <td>384.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>384.000000</td>\n",
              "      <td>384.000000</td>\n",
              "      <td>384.000000</td>\n",
              "      <td>0.706807</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>124</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>275.500000</td>\n",
              "      <td>266.000000</td>\n",
              "      <td>285.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>275.500000</td>\n",
              "      <td>266.000000</td>\n",
              "      <td>285.000000</td>\n",
              "      <td>0.047716</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>125</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>439.500000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>462.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>439.500000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>462.000000</td>\n",
              "      <td>0.139199</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>126</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>-10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>402.500000</td>\n",
              "      <td>349.000000</td>\n",
              "      <td>456.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>402.500000</td>\n",
              "      <td>349.000000</td>\n",
              "      <td>456.000000</td>\n",
              "      <td>0.339013</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>-9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>127</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>468.500000</td>\n",
              "      <td>351.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>351.000000</td>\n",
              "      <td>351.000000</td>\n",
              "      <td>351.000000</td>\n",
              "      <td>0.831395</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>128</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>452.000000</td>\n",
              "      <td>445.000000</td>\n",
              "      <td>459.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>452.000000</td>\n",
              "      <td>445.000000</td>\n",
              "      <td>459.000000</td>\n",
              "      <td>0.023688</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>129</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>469.000000</td>\n",
              "      <td>493.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>469.000000</td>\n",
              "      <td>493.000000</td>\n",
              "      <td>0.042406</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>130</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>480.000000</td>\n",
              "      <td>374.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>374.000000</td>\n",
              "      <td>374.000000</td>\n",
              "      <td>374.000000</td>\n",
              "      <td>0.701966</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>131</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>365.500000</td>\n",
              "      <td>325.000000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>365.500000</td>\n",
              "      <td>325.000000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>0.342112</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>132</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>393.000000</td>\n",
              "      <td>358.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>393.000000</td>\n",
              "      <td>358.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>0.237356</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>133</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>454.500000</td>\n",
              "      <td>443.000000</td>\n",
              "      <td>466.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>454.500000</td>\n",
              "      <td>443.000000</td>\n",
              "      <td>466.000000</td>\n",
              "      <td>0.048999</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>134</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>371.000000</td>\n",
              "      <td>347.000000</td>\n",
              "      <td>395.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>371.000000</td>\n",
              "      <td>347.000000</td>\n",
              "      <td>395.000000</td>\n",
              "      <td>0.154294</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>135</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>538.500000</td>\n",
              "      <td>529.000000</td>\n",
              "      <td>548.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>538.500000</td>\n",
              "      <td>529.000000</td>\n",
              "      <td>548.000000</td>\n",
              "      <td>0.037793</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>136</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>367.500000</td>\n",
              "      <td>339.000000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>367.500000</td>\n",
              "      <td>339.000000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>0.155849</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>137</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>525.500000</td>\n",
              "      <td>523.000000</td>\n",
              "      <td>528.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>525.500000</td>\n",
              "      <td>523.000000</td>\n",
              "      <td>528.000000</td>\n",
              "      <td>0.009064</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>-9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>138</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>456.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>493.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>456.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>493.000000</td>\n",
              "      <td>0.210161</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>139</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>377.000000</td>\n",
              "      <td>367.000000</td>\n",
              "      <td>387.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>377.000000</td>\n",
              "      <td>367.000000</td>\n",
              "      <td>387.000000</td>\n",
              "      <td>0.037456</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>140</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>399.500000</td>\n",
              "      <td>351.000000</td>\n",
              "      <td>448.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>399.500000</td>\n",
              "      <td>351.000000</td>\n",
              "      <td>448.000000</td>\n",
              "      <td>0.302418</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>141</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>311.000000</td>\n",
              "      <td>234.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>311.000000</td>\n",
              "      <td>234.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>0.759017</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>142</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>0.750000</td>\n",
              "      <td>0.353553</td>\n",
              "      <td>453.000000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>524.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>453.000000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>524.000000</td>\n",
              "      <td>0.469594</td>\n",
              "      <td>0.250000</td>\n",
              "      <td>1.060660</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>143</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>453.500000</td>\n",
              "      <td>344.000000</td>\n",
              "      <td>563.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>453.500000</td>\n",
              "      <td>344.000000</td>\n",
              "      <td>563.000000</td>\n",
              "      <td>0.731924</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>144</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>402.000000</td>\n",
              "      <td>344.000000</td>\n",
              "      <td>460.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>402.000000</td>\n",
              "      <td>344.000000</td>\n",
              "      <td>460.000000</td>\n",
              "      <td>0.400366</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>8.500000</td>\n",
              "      <td>16.263456</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>145</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>457.500000</td>\n",
              "      <td>446.000000</td>\n",
              "      <td>469.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>457.500000</td>\n",
              "      <td>446.000000</td>\n",
              "      <td>469.000000</td>\n",
              "      <td>0.043944</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>146</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>431.000000</td>\n",
              "      <td>333.000000</td>\n",
              "      <td>529.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>431.000000</td>\n",
              "      <td>333.000000</td>\n",
              "      <td>529.000000</td>\n",
              "      <td>0.786733</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>147</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>523.500000</td>\n",
              "      <td>461.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>461.000000</td>\n",
              "      <td>461.000000</td>\n",
              "      <td>461.000000</td>\n",
              "      <td>0.439689</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>148</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>399.500000</td>\n",
              "      <td>377.000000</td>\n",
              "      <td>422.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>399.500000</td>\n",
              "      <td>377.000000</td>\n",
              "      <td>422.000000</td>\n",
              "      <td>0.143765</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>149</td>\n",
              "      <td>0.000900</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>321.500000</td>\n",
              "      <td>237.000000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>321.500000</td>\n",
              "      <td>237.000000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>0.878836</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>150</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>400.500000</td>\n",
              "      <td>374.000000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>400.500000</td>\n",
              "      <td>374.000000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>0.143360</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>151</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>332.500000</td>\n",
              "      <td>328.000000</td>\n",
              "      <td>337.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>332.500000</td>\n",
              "      <td>328.000000</td>\n",
              "      <td>337.000000</td>\n",
              "      <td>0.017393</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>152</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>557.000000</td>\n",
              "      <td>528.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>528.000000</td>\n",
              "      <td>528.000000</td>\n",
              "      <td>528.000000</td>\n",
              "      <td>0.117714</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>153</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>376.000000</td>\n",
              "      <td>404.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>376.000000</td>\n",
              "      <td>404.000000</td>\n",
              "      <td>0.062730</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>154</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-3.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.006829</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>155</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>431.500000</td>\n",
              "      <td>397.000000</td>\n",
              "      <td>466.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>431.500000</td>\n",
              "      <td>397.000000</td>\n",
              "      <td>466.000000</td>\n",
              "      <td>0.281081</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>156</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>513.500000</td>\n",
              "      <td>441.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>441.000000</td>\n",
              "      <td>441.000000</td>\n",
              "      <td>441.000000</td>\n",
              "      <td>0.498690</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-1.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>157</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>530.000000</td>\n",
              "      <td>485.000000</td>\n",
              "      <td>575.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>530.000000</td>\n",
              "      <td>485.000000</td>\n",
              "      <td>575.000000</td>\n",
              "      <td>0.316901</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>158</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>466.500000</td>\n",
              "      <td>347.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>347.000000</td>\n",
              "      <td>347.000000</td>\n",
              "      <td>347.000000</td>\n",
              "      <td>0.753139</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>159</td>\n",
              "      <td>0.000900</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>462.500000</td>\n",
              "      <td>339.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>339.000000</td>\n",
              "      <td>339.000000</td>\n",
              "      <td>339.000000</td>\n",
              "      <td>0.947311</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>160</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>489.000000</td>\n",
              "      <td>439.000000</td>\n",
              "      <td>539.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>489.000000</td>\n",
              "      <td>439.000000</td>\n",
              "      <td>539.000000</td>\n",
              "      <td>0.325618</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>161</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>485.500000</td>\n",
              "      <td>470.000000</td>\n",
              "      <td>501.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>485.500000</td>\n",
              "      <td>470.000000</td>\n",
              "      <td>501.000000</td>\n",
              "      <td>0.079520</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>162</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>497.000000</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>0.683351</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>163</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>461.500000</td>\n",
              "      <td>337.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>337.000000</td>\n",
              "      <td>337.000000</td>\n",
              "      <td>337.000000</td>\n",
              "      <td>0.841592</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>164</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>2.250000</td>\n",
              "      <td>2.474874</td>\n",
              "      <td>420.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>452.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>420.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>452.000000</td>\n",
              "      <td>0.251196</td>\n",
              "      <td>0.250000</td>\n",
              "      <td>1.060660</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>165</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>412.500000</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>412.500000</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>0.017820</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>166</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>523.000000</td>\n",
              "      <td>460.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>460.000000</td>\n",
              "      <td>460.000000</td>\n",
              "      <td>460.000000</td>\n",
              "      <td>0.484418</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>167</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>388.500000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>394.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>388.500000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>394.000000</td>\n",
              "      <td>0.014141</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>168</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>0.119975</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>169</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>0.750000</td>\n",
              "      <td>0.353553</td>\n",
              "      <td>445.500000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>473.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>445.500000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>473.000000</td>\n",
              "      <td>0.154882</td>\n",
              "      <td>0.250000</td>\n",
              "      <td>1.060660</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>170</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>422.500000</td>\n",
              "      <td>355.000000</td>\n",
              "      <td>490.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>422.500000</td>\n",
              "      <td>355.000000</td>\n",
              "      <td>490.000000</td>\n",
              "      <td>0.535937</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>171</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>399.000000</td>\n",
              "      <td>356.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>399.000000</td>\n",
              "      <td>356.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>0.338358</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-3.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>172</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>479.000000</td>\n",
              "      <td>444.000000</td>\n",
              "      <td>514.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>479.000000</td>\n",
              "      <td>444.000000</td>\n",
              "      <td>514.000000</td>\n",
              "      <td>0.204328</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>173</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>316.500000</td>\n",
              "      <td>270.000000</td>\n",
              "      <td>363.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>316.500000</td>\n",
              "      <td>270.000000</td>\n",
              "      <td>363.000000</td>\n",
              "      <td>0.388864</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>174</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>368.000000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>368.000000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>0.140539</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>175</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>236.000000</td>\n",
              "      <td>179.000000</td>\n",
              "      <td>293.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>236.000000</td>\n",
              "      <td>179.000000</td>\n",
              "      <td>293.000000</td>\n",
              "      <td>0.571525</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>176</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>412.000000</td>\n",
              "      <td>401.000000</td>\n",
              "      <td>423.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>412.000000</td>\n",
              "      <td>401.000000</td>\n",
              "      <td>423.000000</td>\n",
              "      <td>0.049852</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>177</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>517.500000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>0.469758</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>178</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>434.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>482.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>434.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>482.000000</td>\n",
              "      <td>0.369652</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>179</td>\n",
              "      <td>0.002400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>231.000000</td>\n",
              "      <td>43.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>231.000000</td>\n",
              "      <td>43.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>2.368110</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>180</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>487.500000</td>\n",
              "      <td>405.000000</td>\n",
              "      <td>570.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>487.500000</td>\n",
              "      <td>405.000000</td>\n",
              "      <td>570.000000</td>\n",
              "      <td>0.570814</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>181</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>373.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>373.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>0.342584</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>182</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>444.500000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>447.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>444.500000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>447.000000</td>\n",
              "      <td>0.011068</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>183</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>414.500000</td>\n",
              "      <td>384.000000</td>\n",
              "      <td>445.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>414.500000</td>\n",
              "      <td>384.000000</td>\n",
              "      <td>445.000000</td>\n",
              "      <td>0.202064</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>184</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>359.000000</td>\n",
              "      <td>497.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>359.000000</td>\n",
              "      <td>497.000000</td>\n",
              "      <td>0.523547</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>185</td>\n",
              "      <td>0.001400</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>206.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>206.000000</td>\n",
              "      <td>206.000000</td>\n",
              "      <td>206.000000</td>\n",
              "      <td>1.401757</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>186</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>0.232279</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>187</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>462.500000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>518.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>462.500000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>518.000000</td>\n",
              "      <td>0.383584</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>188</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>370.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>370.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>0.034479</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>189</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>484.500000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>0.655472</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>190</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>493.000000</td>\n",
              "      <td>400.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>400.000000</td>\n",
              "      <td>400.000000</td>\n",
              "      <td>400.000000</td>\n",
              "      <td>0.598795</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>191</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>488.500000</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>0.695953</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>192</td>\n",
              "      <td>0.000900</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>453.000000</td>\n",
              "      <td>320.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>320.000000</td>\n",
              "      <td>320.000000</td>\n",
              "      <td>320.000000</td>\n",
              "      <td>0.852964</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-1.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>193</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>328.500000</td>\n",
              "      <td>243.000000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>328.500000</td>\n",
              "      <td>243.000000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>0.790862</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>194</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>499.500000</td>\n",
              "      <td>413.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>413.000000</td>\n",
              "      <td>413.000000</td>\n",
              "      <td>413.000000</td>\n",
              "      <td>0.605018</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>195</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>431.500000</td>\n",
              "      <td>401.000000</td>\n",
              "      <td>462.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>431.500000</td>\n",
              "      <td>401.000000</td>\n",
              "      <td>462.000000</td>\n",
              "      <td>0.146344</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>196</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>438.000000</td>\n",
              "      <td>387.000000</td>\n",
              "      <td>489.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>438.000000</td>\n",
              "      <td>387.000000</td>\n",
              "      <td>489.000000</td>\n",
              "      <td>0.320350</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>197</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>531.000000</td>\n",
              "      <td>479.000000</td>\n",
              "      <td>583.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>531.000000</td>\n",
              "      <td>479.000000</td>\n",
              "      <td>583.000000</td>\n",
              "      <td>0.400766</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>198</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>575.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>391.000000</td>\n",
              "      <td>575.000000</td>\n",
              "      <td>0.659427</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>199</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>409.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>415.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>409.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>415.000000</td>\n",
              "      <td>0.018009</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>200</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>420.000000</td>\n",
              "      <td>387.000000</td>\n",
              "      <td>453.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>420.000000</td>\n",
              "      <td>387.000000</td>\n",
              "      <td>453.000000</td>\n",
              "      <td>0.239596</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>201</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>456.500000</td>\n",
              "      <td>394.000000</td>\n",
              "      <td>519.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>456.500000</td>\n",
              "      <td>394.000000</td>\n",
              "      <td>519.000000</td>\n",
              "      <td>0.526230</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>202</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>444.500000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>457.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>444.500000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>457.000000</td>\n",
              "      <td>0.058789</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>203</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>484.000000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>0.743711</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>204</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>384.500000</td>\n",
              "      <td>379.000000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>384.500000</td>\n",
              "      <td>379.000000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>0.022695</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>205</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>366.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>366.000000</td>\n",
              "      <td>366.000000</td>\n",
              "      <td>366.000000</td>\n",
              "      <td>0.771927</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>206</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>341.000000</td>\n",
              "      <td>301.000000</td>\n",
              "      <td>381.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>341.000000</td>\n",
              "      <td>301.000000</td>\n",
              "      <td>381.000000</td>\n",
              "      <td>0.305082</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>207</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>402.500000</td>\n",
              "      <td>372.000000</td>\n",
              "      <td>433.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>402.500000</td>\n",
              "      <td>372.000000</td>\n",
              "      <td>433.000000</td>\n",
              "      <td>0.200721</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>208</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>446.000000</td>\n",
              "      <td>424.000000</td>\n",
              "      <td>468.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>446.000000</td>\n",
              "      <td>424.000000</td>\n",
              "      <td>468.000000</td>\n",
              "      <td>0.146936</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>209</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>404.000000</td>\n",
              "      <td>412.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>404.000000</td>\n",
              "      <td>412.000000</td>\n",
              "      <td>0.024830</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>8.500000</td>\n",
              "      <td>16.263456</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>210</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>438.500000</td>\n",
              "      <td>376.000000</td>\n",
              "      <td>501.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>438.500000</td>\n",
              "      <td>376.000000</td>\n",
              "      <td>501.000000</td>\n",
              "      <td>0.455275</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>211</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>0.750000</td>\n",
              "      <td>0.353553</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>358.000000</td>\n",
              "      <td>448.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>358.000000</td>\n",
              "      <td>448.000000</td>\n",
              "      <td>0.315390</td>\n",
              "      <td>0.250000</td>\n",
              "      <td>1.060660</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>212</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>0.645317</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>213</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>379.500000</td>\n",
              "      <td>321.000000</td>\n",
              "      <td>438.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>379.500000</td>\n",
              "      <td>321.000000</td>\n",
              "      <td>438.000000</td>\n",
              "      <td>0.502483</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>214</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>430.500000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>443.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>430.500000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>443.000000</td>\n",
              "      <td>0.056737</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>215</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>0.019019</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>216</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>400.500000</td>\n",
              "      <td>364.000000</td>\n",
              "      <td>437.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>400.500000</td>\n",
              "      <td>364.000000</td>\n",
              "      <td>437.000000</td>\n",
              "      <td>0.261471</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>217</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>507.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>0.505626</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>218</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>402.000000</td>\n",
              "      <td>401.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>402.000000</td>\n",
              "      <td>401.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>0.014524</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>219</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>-10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>317.000000</td>\n",
              "      <td>459.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>317.000000</td>\n",
              "      <td>459.000000</td>\n",
              "      <td>0.490439</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>-9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>220</td>\n",
              "      <td>0.001600</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>246.500000</td>\n",
              "      <td>88.000000</td>\n",
              "      <td>405.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>246.500000</td>\n",
              "      <td>88.000000</td>\n",
              "      <td>405.000000</td>\n",
              "      <td>1.625133</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>221</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>-10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>412.000000</td>\n",
              "      <td>370.000000</td>\n",
              "      <td>454.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>412.000000</td>\n",
              "      <td>370.000000</td>\n",
              "      <td>454.000000</td>\n",
              "      <td>0.281538</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>-9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>222</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>494.500000</td>\n",
              "      <td>447.000000</td>\n",
              "      <td>542.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>494.500000</td>\n",
              "      <td>447.000000</td>\n",
              "      <td>542.000000</td>\n",
              "      <td>0.338769</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>223</td>\n",
              "      <td>0.001100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>274.500000</td>\n",
              "      <td>160.000000</td>\n",
              "      <td>389.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>274.500000</td>\n",
              "      <td>160.000000</td>\n",
              "      <td>389.000000</td>\n",
              "      <td>1.139090</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>224</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>404.500000</td>\n",
              "      <td>315.000000</td>\n",
              "      <td>494.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>404.500000</td>\n",
              "      <td>315.000000</td>\n",
              "      <td>494.000000</td>\n",
              "      <td>0.784228</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>225</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>357.500000</td>\n",
              "      <td>313.000000</td>\n",
              "      <td>402.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>357.500000</td>\n",
              "      <td>313.000000</td>\n",
              "      <td>402.000000</td>\n",
              "      <td>0.325036</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>226</td>\n",
              "      <td>0.001000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>462.000000</td>\n",
              "      <td>338.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>338.000000</td>\n",
              "      <td>338.000000</td>\n",
              "      <td>338.000000</td>\n",
              "      <td>1.006946</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-1.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>227</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>450.500000</td>\n",
              "      <td>384.000000</td>\n",
              "      <td>517.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>450.500000</td>\n",
              "      <td>384.000000</td>\n",
              "      <td>517.000000</td>\n",
              "      <td>0.508436</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>228</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>474.000000</td>\n",
              "      <td>470.000000</td>\n",
              "      <td>478.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>474.000000</td>\n",
              "      <td>470.000000</td>\n",
              "      <td>478.000000</td>\n",
              "      <td>0.013777</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>229</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>436.000000</td>\n",
              "      <td>516.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>436.000000</td>\n",
              "      <td>516.000000</td>\n",
              "      <td>0.296817</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>230</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>437.000000</td>\n",
              "      <td>398.000000</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>437.000000</td>\n",
              "      <td>398.000000</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>0.265059</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>231</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>515.500000</td>\n",
              "      <td>445.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>445.000000</td>\n",
              "      <td>445.000000</td>\n",
              "      <td>445.000000</td>\n",
              "      <td>0.529493</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>232</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>421.500000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>426.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>421.500000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>426.000000</td>\n",
              "      <td>0.018408</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>233</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>502.000000</td>\n",
              "      <td>441.000000</td>\n",
              "      <td>563.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>502.000000</td>\n",
              "      <td>441.000000</td>\n",
              "      <td>563.000000</td>\n",
              "      <td>0.439887</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>234</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>479.000000</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>482.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>479.000000</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>482.000000</td>\n",
              "      <td>0.019929</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-3.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>235</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>413.000000</td>\n",
              "      <td>398.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>413.000000</td>\n",
              "      <td>398.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>0.076599</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>236</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>255.500000</td>\n",
              "      <td>195.000000</td>\n",
              "      <td>316.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>255.500000</td>\n",
              "      <td>195.000000</td>\n",
              "      <td>316.000000</td>\n",
              "      <td>0.699368</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>237</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>478.000000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>566.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>478.000000</td>\n",
              "      <td>390.000000</td>\n",
              "      <td>566.000000</td>\n",
              "      <td>0.603965</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>238</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>426.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>426.000000</td>\n",
              "      <td>0.041514</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>239</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>-12.500000</td>\n",
              "      <td>13.435029</td>\n",
              "      <td>466.500000</td>\n",
              "      <td>347.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>347.000000</td>\n",
              "      <td>347.000000</td>\n",
              "      <td>347.000000</td>\n",
              "      <td>0.839215</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-10.500000</td>\n",
              "      <td>13.435029</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>240</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>321.000000</td>\n",
              "      <td>278.000000</td>\n",
              "      <td>364.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>321.000000</td>\n",
              "      <td>278.000000</td>\n",
              "      <td>364.000000</td>\n",
              "      <td>0.322070</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>241</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>431.500000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>467.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>431.500000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>467.000000</td>\n",
              "      <td>0.216466</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>242</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>465.500000</td>\n",
              "      <td>447.000000</td>\n",
              "      <td>484.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>465.500000</td>\n",
              "      <td>447.000000</td>\n",
              "      <td>484.000000</td>\n",
              "      <td>0.102169</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>243</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>396.500000</td>\n",
              "      <td>344.000000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>396.500000</td>\n",
              "      <td>344.000000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>0.363539</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>244</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>452.500000</td>\n",
              "      <td>447.000000</td>\n",
              "      <td>458.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>452.500000</td>\n",
              "      <td>447.000000</td>\n",
              "      <td>458.000000</td>\n",
              "      <td>0.023496</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>245</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>350.000000</td>\n",
              "      <td>484.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>350.000000</td>\n",
              "      <td>484.000000</td>\n",
              "      <td>0.480963</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>246</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>340.000000</td>\n",
              "      <td>284.000000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>340.000000</td>\n",
              "      <td>284.000000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>0.546740</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>247</td>\n",
              "      <td>0.002300</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>325.000000</td>\n",
              "      <td>64.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>64.000000</td>\n",
              "      <td>64.000000</td>\n",
              "      <td>64.000000</td>\n",
              "      <td>2.256215</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>248</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>441.500000</td>\n",
              "      <td>423.000000</td>\n",
              "      <td>460.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>441.500000</td>\n",
              "      <td>423.000000</td>\n",
              "      <td>460.000000</td>\n",
              "      <td>0.085067</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>249</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>235.000000</td>\n",
              "      <td>197.000000</td>\n",
              "      <td>273.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>235.000000</td>\n",
              "      <td>197.000000</td>\n",
              "      <td>273.000000</td>\n",
              "      <td>0.501271</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>250</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>0.328849</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>251</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>453.000000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>474.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>453.000000</td>\n",
              "      <td>432.000000</td>\n",
              "      <td>474.000000</td>\n",
              "      <td>0.121234</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>252</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>395.500000</td>\n",
              "      <td>380.000000</td>\n",
              "      <td>411.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>395.500000</td>\n",
              "      <td>380.000000</td>\n",
              "      <td>411.000000</td>\n",
              "      <td>0.113295</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>253</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>482.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>0.784589</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>254</td>\n",
              "      <td>0.001200</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>232.000000</td>\n",
              "      <td>148.000000</td>\n",
              "      <td>316.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>232.000000</td>\n",
              "      <td>148.000000</td>\n",
              "      <td>316.000000</td>\n",
              "      <td>1.158022</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>255</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>412.000000</td>\n",
              "      <td>370.000000</td>\n",
              "      <td>454.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>412.000000</td>\n",
              "      <td>370.000000</td>\n",
              "      <td>454.000000</td>\n",
              "      <td>0.271680</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>256</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>397.000000</td>\n",
              "      <td>376.000000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>397.000000</td>\n",
              "      <td>376.000000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>0.156723</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>257</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>427.500000</td>\n",
              "      <td>411.000000</td>\n",
              "      <td>444.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>427.500000</td>\n",
              "      <td>411.000000</td>\n",
              "      <td>444.000000</td>\n",
              "      <td>0.083384</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>258</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>510.000000</td>\n",
              "      <td>456.000000</td>\n",
              "      <td>564.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>510.000000</td>\n",
              "      <td>456.000000</td>\n",
              "      <td>564.000000</td>\n",
              "      <td>0.398473</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>259</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>452.500000</td>\n",
              "      <td>440.000000</td>\n",
              "      <td>465.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>452.500000</td>\n",
              "      <td>440.000000</td>\n",
              "      <td>465.000000</td>\n",
              "      <td>0.080118</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>260</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>419.500000</td>\n",
              "      <td>393.000000</td>\n",
              "      <td>446.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>419.500000</td>\n",
              "      <td>393.000000</td>\n",
              "      <td>446.000000</td>\n",
              "      <td>0.171759</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>261</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>440.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>461.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>440.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>461.000000</td>\n",
              "      <td>0.133860</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>262</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>456.000000</td>\n",
              "      <td>369.000000</td>\n",
              "      <td>543.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>456.000000</td>\n",
              "      <td>369.000000</td>\n",
              "      <td>543.000000</td>\n",
              "      <td>0.715380</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>263</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>361.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>361.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>0.153149</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>264</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>516.500000</td>\n",
              "      <td>447.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>447.000000</td>\n",
              "      <td>447.000000</td>\n",
              "      <td>447.000000</td>\n",
              "      <td>0.521685</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>265</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>369.500000</td>\n",
              "      <td>336.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>369.500000</td>\n",
              "      <td>336.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>0.260926</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>266</td>\n",
              "      <td>0.002200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>202.500000</td>\n",
              "      <td>44.000000</td>\n",
              "      <td>361.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>202.500000</td>\n",
              "      <td>44.000000</td>\n",
              "      <td>361.000000</td>\n",
              "      <td>2.200879</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>267</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>393.500000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>404.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>393.500000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>404.000000</td>\n",
              "      <td>0.057358</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>268</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>411.000000</td>\n",
              "      <td>380.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>411.000000</td>\n",
              "      <td>380.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>0.233103</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>269</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>4.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>0.109396</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>270</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>144.000000</td>\n",
              "      <td>106.000000</td>\n",
              "      <td>182.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>144.000000</td>\n",
              "      <td>106.000000</td>\n",
              "      <td>182.000000</td>\n",
              "      <td>0.806145</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>271</td>\n",
              "      <td>0.001100</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>17.677670</td>\n",
              "      <td>445.500000</td>\n",
              "      <td>305.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>305.000000</td>\n",
              "      <td>305.000000</td>\n",
              "      <td>305.000000</td>\n",
              "      <td>1.084759</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>10.000000</td>\n",
              "      <td>14.142136</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>272</td>\n",
              "      <td>0.001200</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>414.500000</td>\n",
              "      <td>243.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>243.000000</td>\n",
              "      <td>243.000000</td>\n",
              "      <td>243.000000</td>\n",
              "      <td>1.162079</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>273</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>501.500000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>0.640193</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>274</td>\n",
              "      <td>0.001100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>341.000000</td>\n",
              "      <td>236.000000</td>\n",
              "      <td>446.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>341.000000</td>\n",
              "      <td>236.000000</td>\n",
              "      <td>446.000000</td>\n",
              "      <td>1.096299</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>275</td>\n",
              "      <td>0.002300</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>221.500000</td>\n",
              "      <td>47.000000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>221.500000</td>\n",
              "      <td>47.000000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>2.312115</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>276</td>\n",
              "      <td>0.002000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>266.500000</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>466.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>266.500000</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>466.000000</td>\n",
              "      <td>2.003460</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>277</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>490.500000</td>\n",
              "      <td>395.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>395.000000</td>\n",
              "      <td>395.000000</td>\n",
              "      <td>395.000000</td>\n",
              "      <td>0.722101</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>278</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>427.500000</td>\n",
              "      <td>375.000000</td>\n",
              "      <td>480.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>427.500000</td>\n",
              "      <td>375.000000</td>\n",
              "      <td>480.000000</td>\n",
              "      <td>0.443031</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>279</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>490.000000</td>\n",
              "      <td>412.000000</td>\n",
              "      <td>568.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>490.000000</td>\n",
              "      <td>412.000000</td>\n",
              "      <td>568.000000</td>\n",
              "      <td>0.612022</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>280</td>\n",
              "      <td>0.002000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>278.000000</td>\n",
              "      <td>80.000000</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>278.000000</td>\n",
              "      <td>80.000000</td>\n",
              "      <td>476.000000</td>\n",
              "      <td>2.013061</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>281</td>\n",
              "      <td>0.000900</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>130.500000</td>\n",
              "      <td>91.000000</td>\n",
              "      <td>170.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>130.500000</td>\n",
              "      <td>91.000000</td>\n",
              "      <td>170.000000</td>\n",
              "      <td>0.909233</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>282</td>\n",
              "      <td>0.002100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>230.500000</td>\n",
              "      <td>63.000000</td>\n",
              "      <td>398.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>230.500000</td>\n",
              "      <td>63.000000</td>\n",
              "      <td>398.000000</td>\n",
              "      <td>2.070175</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>283</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>471.500000</td>\n",
              "      <td>451.000000</td>\n",
              "      <td>492.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>471.500000</td>\n",
              "      <td>451.000000</td>\n",
              "      <td>492.000000</td>\n",
              "      <td>0.145457</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>284</td>\n",
              "      <td>0.002000</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>284.000000</td>\n",
              "      <td>87.000000</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>284.000000</td>\n",
              "      <td>87.000000</td>\n",
              "      <td>481.000000</td>\n",
              "      <td>2.015324</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>285</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>484.000000</td>\n",
              "      <td>498.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>484.000000</td>\n",
              "      <td>498.000000</td>\n",
              "      <td>0.062271</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>286</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>80.500000</td>\n",
              "      <td>65.000000</td>\n",
              "      <td>96.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>80.500000</td>\n",
              "      <td>65.000000</td>\n",
              "      <td>96.000000</td>\n",
              "      <td>0.503806</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>287</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>128.500000</td>\n",
              "      <td>98.000000</td>\n",
              "      <td>159.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>128.500000</td>\n",
              "      <td>98.000000</td>\n",
              "      <td>159.000000</td>\n",
              "      <td>0.573384</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>288</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>386.500000</td>\n",
              "      <td>331.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>386.500000</td>\n",
              "      <td>331.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>0.413388</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>289</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>199.500000</td>\n",
              "      <td>132.000000</td>\n",
              "      <td>267.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>199.500000</td>\n",
              "      <td>132.000000</td>\n",
              "      <td>267.000000</td>\n",
              "      <td>0.826352</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>290</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>405.000000</td>\n",
              "      <td>433.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>405.000000</td>\n",
              "      <td>433.000000</td>\n",
              "      <td>0.101033</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>291</td>\n",
              "      <td>0.002100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>170.500000</td>\n",
              "      <td>43.000000</td>\n",
              "      <td>298.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>170.500000</td>\n",
              "      <td>43.000000</td>\n",
              "      <td>298.000000</td>\n",
              "      <td>2.104151</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>292</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>466.500000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>515.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>466.500000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>515.000000</td>\n",
              "      <td>0.369420</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>293</td>\n",
              "      <td>0.002100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>237.500000</td>\n",
              "      <td>57.000000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>237.500000</td>\n",
              "      <td>57.000000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>2.074670</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>294</td>\n",
              "      <td>0.001800</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>209.500000</td>\n",
              "      <td>66.000000</td>\n",
              "      <td>353.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>209.500000</td>\n",
              "      <td>66.000000</td>\n",
              "      <td>353.000000</td>\n",
              "      <td>1.807148</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>295</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>500.000000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>0.593227</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>296</td>\n",
              "      <td>0.002300</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>234.500000</td>\n",
              "      <td>42.000000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>234.500000</td>\n",
              "      <td>42.000000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>2.258781</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>297</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>435.000000</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>462.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>435.000000</td>\n",
              "      <td>408.000000</td>\n",
              "      <td>462.000000</td>\n",
              "      <td>0.200652</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>298</td>\n",
              "      <td>0.002200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>234.000000</td>\n",
              "      <td>49.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>234.000000</td>\n",
              "      <td>49.000000</td>\n",
              "      <td>419.000000</td>\n",
              "      <td>2.187711</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>299</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>140.000000</td>\n",
              "      <td>129.000000</td>\n",
              "      <td>151.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>140.000000</td>\n",
              "      <td>129.000000</td>\n",
              "      <td>151.000000</td>\n",
              "      <td>0.167949</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>300</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>217.500000</td>\n",
              "      <td>194.000000</td>\n",
              "      <td>241.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>217.500000</td>\n",
              "      <td>194.000000</td>\n",
              "      <td>241.000000</td>\n",
              "      <td>0.363947</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>301</td>\n",
              "      <td>0.001400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>299.500000</td>\n",
              "      <td>172.000000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>299.500000</td>\n",
              "      <td>172.000000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>1.431852</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>302</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>415.000000</td>\n",
              "      <td>439.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>415.000000</td>\n",
              "      <td>439.000000</td>\n",
              "      <td>0.077346</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>303</td>\n",
              "      <td>0.001700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>231.500000</td>\n",
              "      <td>94.000000</td>\n",
              "      <td>369.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>231.500000</td>\n",
              "      <td>94.000000</td>\n",
              "      <td>369.000000</td>\n",
              "      <td>1.681231</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>304</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>99.000000</td>\n",
              "      <td>69.000000</td>\n",
              "      <td>129.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>99.000000</td>\n",
              "      <td>69.000000</td>\n",
              "      <td>129.000000</td>\n",
              "      <td>0.831311</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>305</td>\n",
              "      <td>0.001900</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>346.000000</td>\n",
              "      <td>106.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>106.000000</td>\n",
              "      <td>106.000000</td>\n",
              "      <td>106.000000</td>\n",
              "      <td>1.936602</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>306</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>410.000000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>414.000000</td>\n",
              "      <td>410.000000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>0.047105</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>307</td>\n",
              "      <td>0.002100</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>267.000000</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>467.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>267.000000</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>467.000000</td>\n",
              "      <td>2.146735</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-3.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>308</td>\n",
              "      <td>0.001600</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>292.500000</td>\n",
              "      <td>136.000000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>292.500000</td>\n",
              "      <td>136.000000</td>\n",
              "      <td>449.000000</td>\n",
              "      <td>1.578677</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>309</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>459.000000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>511.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>459.000000</td>\n",
              "      <td>407.000000</td>\n",
              "      <td>511.000000</td>\n",
              "      <td>0.364220</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>310</td>\n",
              "      <td>0.002300</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>208.500000</td>\n",
              "      <td>38.000000</td>\n",
              "      <td>379.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>208.500000</td>\n",
              "      <td>38.000000</td>\n",
              "      <td>379.000000</td>\n",
              "      <td>2.287650</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>311</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>412.000000</td>\n",
              "      <td>399.000000</td>\n",
              "      <td>425.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>412.000000</td>\n",
              "      <td>399.000000</td>\n",
              "      <td>425.000000</td>\n",
              "      <td>0.078418</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>312</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>498.500000</td>\n",
              "      <td>473.000000</td>\n",
              "      <td>524.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>498.500000</td>\n",
              "      <td>473.000000</td>\n",
              "      <td>524.000000</td>\n",
              "      <td>0.157159</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>313</td>\n",
              "      <td>0.001000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>282.500000</td>\n",
              "      <td>196.000000</td>\n",
              "      <td>369.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>282.500000</td>\n",
              "      <td>196.000000</td>\n",
              "      <td>369.000000</td>\n",
              "      <td>1.021777</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>314</td>\n",
              "      <td>0.002000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>220.500000</td>\n",
              "      <td>62.000000</td>\n",
              "      <td>379.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>220.500000</td>\n",
              "      <td>62.000000</td>\n",
              "      <td>379.000000</td>\n",
              "      <td>2.018043</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>315</td>\n",
              "      <td>0.002200</td>\n",
              "      <td>11.250000</td>\n",
              "      <td>15.202796</td>\n",
              "      <td>293.500000</td>\n",
              "      <td>75.000000</td>\n",
              "      <td>512.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>293.500000</td>\n",
              "      <td>75.000000</td>\n",
              "      <td>512.000000</td>\n",
              "      <td>2.222140</td>\n",
              "      <td>0.250000</td>\n",
              "      <td>1.060660</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>10.000000</td>\n",
              "      <td>14.142136</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>316</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>458.500000</td>\n",
              "      <td>363.000000</td>\n",
              "      <td>554.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>458.500000</td>\n",
              "      <td>363.000000</td>\n",
              "      <td>554.000000</td>\n",
              "      <td>0.787128</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>317</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>47.500000</td>\n",
              "      <td>41.000000</td>\n",
              "      <td>54.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>47.500000</td>\n",
              "      <td>41.000000</td>\n",
              "      <td>54.000000</td>\n",
              "      <td>0.282122</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>318</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>360.000000</td>\n",
              "      <td>353.000000</td>\n",
              "      <td>367.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>360.000000</td>\n",
              "      <td>353.000000</td>\n",
              "      <td>367.000000</td>\n",
              "      <td>0.063340</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>319</td>\n",
              "      <td>0.001100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>247.000000</td>\n",
              "      <td>519.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>247.000000</td>\n",
              "      <td>519.000000</td>\n",
              "      <td>1.143669</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>320</td>\n",
              "      <td>0.001100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>357.500000</td>\n",
              "      <td>245.000000</td>\n",
              "      <td>470.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>357.500000</td>\n",
              "      <td>245.000000</td>\n",
              "      <td>470.000000</td>\n",
              "      <td>1.146139</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>321</td>\n",
              "      <td>0.001600</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>318.500000</td>\n",
              "      <td>145.000000</td>\n",
              "      <td>492.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>318.500000</td>\n",
              "      <td>145.000000</td>\n",
              "      <td>492.000000</td>\n",
              "      <td>1.610479</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>322</td>\n",
              "      <td>0.001500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>346.000000</td>\n",
              "      <td>202.000000</td>\n",
              "      <td>490.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>346.000000</td>\n",
              "      <td>202.000000</td>\n",
              "      <td>490.000000</td>\n",
              "      <td>1.458763</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>323</td>\n",
              "      <td>0.001000</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>359.000000</td>\n",
              "      <td>243.000000</td>\n",
              "      <td>475.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>359.000000</td>\n",
              "      <td>243.000000</td>\n",
              "      <td>475.000000</td>\n",
              "      <td>0.986962</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>324</td>\n",
              "      <td>0.002200</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>330.500000</td>\n",
              "      <td>75.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>75.000000</td>\n",
              "      <td>75.000000</td>\n",
              "      <td>75.000000</td>\n",
              "      <td>2.177847</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>325</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>469.000000</td>\n",
              "      <td>352.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>352.000000</td>\n",
              "      <td>352.000000</td>\n",
              "      <td>352.000000</td>\n",
              "      <td>0.815542</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>326</td>\n",
              "      <td>0.001800</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>305.000000</td>\n",
              "      <td>141.000000</td>\n",
              "      <td>469.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>305.000000</td>\n",
              "      <td>141.000000</td>\n",
              "      <td>469.000000</td>\n",
              "      <td>1.770799</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>327</td>\n",
              "      <td>0.001700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>223.000000</td>\n",
              "      <td>74.000000</td>\n",
              "      <td>372.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>223.000000</td>\n",
              "      <td>74.000000</td>\n",
              "      <td>372.000000</td>\n",
              "      <td>1.739502</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>328</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>474.000000</td>\n",
              "      <td>444.000000</td>\n",
              "      <td>504.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>474.000000</td>\n",
              "      <td>444.000000</td>\n",
              "      <td>504.000000</td>\n",
              "      <td>0.226722</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>329</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>484.000000</td>\n",
              "      <td>458.000000</td>\n",
              "      <td>510.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>484.000000</td>\n",
              "      <td>458.000000</td>\n",
              "      <td>510.000000</td>\n",
              "      <td>0.150867</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>330</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>48.000000</td>\n",
              "      <td>40.000000</td>\n",
              "      <td>56.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>48.000000</td>\n",
              "      <td>40.000000</td>\n",
              "      <td>56.000000</td>\n",
              "      <td>0.400881</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>331</td>\n",
              "      <td>0.001700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>211.500000</td>\n",
              "      <td>82.000000</td>\n",
              "      <td>341.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>211.500000</td>\n",
              "      <td>82.000000</td>\n",
              "      <td>341.000000</td>\n",
              "      <td>1.675232</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>332</td>\n",
              "      <td>0.000900</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>55.500000</td>\n",
              "      <td>36.000000</td>\n",
              "      <td>75.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>55.500000</td>\n",
              "      <td>36.000000</td>\n",
              "      <td>75.000000</td>\n",
              "      <td>0.855485</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>333</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>465.500000</td>\n",
              "      <td>416.000000</td>\n",
              "      <td>515.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>465.500000</td>\n",
              "      <td>416.000000</td>\n",
              "      <td>515.000000</td>\n",
              "      <td>0.418844</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>334</td>\n",
              "      <td>0.001900</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>257.500000</td>\n",
              "      <td>94.000000</td>\n",
              "      <td>421.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>257.500000</td>\n",
              "      <td>94.000000</td>\n",
              "      <td>421.000000</td>\n",
              "      <td>1.853450</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>335</td>\n",
              "      <td>0.002000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>248.500000</td>\n",
              "      <td>75.000000</td>\n",
              "      <td>422.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>248.500000</td>\n",
              "      <td>75.000000</td>\n",
              "      <td>422.000000</td>\n",
              "      <td>1.967951</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>336</td>\n",
              "      <td>0.001200</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>17.677670</td>\n",
              "      <td>423.000000</td>\n",
              "      <td>260.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>260.000000</td>\n",
              "      <td>260.000000</td>\n",
              "      <td>260.000000</td>\n",
              "      <td>1.236872</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>10.000000</td>\n",
              "      <td>14.142136</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>337</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>212.000000</td>\n",
              "      <td>201.000000</td>\n",
              "      <td>223.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>212.000000</td>\n",
              "      <td>201.000000</td>\n",
              "      <td>223.000000</td>\n",
              "      <td>0.171621</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>338</td>\n",
              "      <td>0.001500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>264.500000</td>\n",
              "      <td>112.000000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>264.500000</td>\n",
              "      <td>112.000000</td>\n",
              "      <td>417.000000</td>\n",
              "      <td>1.531534</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>339</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>57.000000</td>\n",
              "      <td>77.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>57.000000</td>\n",
              "      <td>77.000000</td>\n",
              "      <td>0.384807</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>340</td>\n",
              "      <td>0.001100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>260.500000</td>\n",
              "      <td>174.000000</td>\n",
              "      <td>347.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>260.500000</td>\n",
              "      <td>174.000000</td>\n",
              "      <td>347.000000</td>\n",
              "      <td>1.065351</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>341</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>466.500000</td>\n",
              "      <td>439.000000</td>\n",
              "      <td>494.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>466.500000</td>\n",
              "      <td>439.000000</td>\n",
              "      <td>494.000000</td>\n",
              "      <td>0.198640</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>342</td>\n",
              "      <td>0.001700</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>327.500000</td>\n",
              "      <td>164.000000</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>327.500000</td>\n",
              "      <td>164.000000</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>1.679343</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>343</td>\n",
              "      <td>0.001800</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>205.500000</td>\n",
              "      <td>68.000000</td>\n",
              "      <td>343.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>205.500000</td>\n",
              "      <td>68.000000</td>\n",
              "      <td>343.000000</td>\n",
              "      <td>1.811192</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>344</td>\n",
              "      <td>0.001500</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>368.500000</td>\n",
              "      <td>212.000000</td>\n",
              "      <td>525.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>368.500000</td>\n",
              "      <td>212.000000</td>\n",
              "      <td>525.000000</td>\n",
              "      <td>1.495991</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>345</td>\n",
              "      <td>0.002000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>246.000000</td>\n",
              "      <td>64.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>246.000000</td>\n",
              "      <td>64.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>2.024541</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>346</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>446.000000</td>\n",
              "      <td>409.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>446.000000</td>\n",
              "      <td>409.000000</td>\n",
              "      <td>483.000000</td>\n",
              "      <td>0.227990</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>347</td>\n",
              "      <td>0.001700</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>356.000000</td>\n",
              "      <td>126.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>126.000000</td>\n",
              "      <td>126.000000</td>\n",
              "      <td>126.000000</td>\n",
              "      <td>1.666988</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>348</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>67.500000</td>\n",
              "      <td>56.000000</td>\n",
              "      <td>79.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>67.500000</td>\n",
              "      <td>56.000000</td>\n",
              "      <td>79.000000</td>\n",
              "      <td>0.350184</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>349</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>350.500000</td>\n",
              "      <td>264.000000</td>\n",
              "      <td>437.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>350.500000</td>\n",
              "      <td>264.000000</td>\n",
              "      <td>437.000000</td>\n",
              "      <td>0.773372</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>350</td>\n",
              "      <td>0.002200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>253.000000</td>\n",
              "      <td>49.000000</td>\n",
              "      <td>457.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>253.000000</td>\n",
              "      <td>49.000000</td>\n",
              "      <td>457.000000</td>\n",
              "      <td>2.230222</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>351</td>\n",
              "      <td>0.001600</td>\n",
              "      <td>-10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>264.500000</td>\n",
              "      <td>120.000000</td>\n",
              "      <td>409.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>264.500000</td>\n",
              "      <td>120.000000</td>\n",
              "      <td>409.000000</td>\n",
              "      <td>1.577635</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>-9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>352</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>490.500000</td>\n",
              "      <td>487.000000</td>\n",
              "      <td>494.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>490.500000</td>\n",
              "      <td>487.000000</td>\n",
              "      <td>494.000000</td>\n",
              "      <td>0.040526</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>353</td>\n",
              "      <td>0.001200</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>161.000000</td>\n",
              "      <td>88.000000</td>\n",
              "      <td>234.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>161.000000</td>\n",
              "      <td>88.000000</td>\n",
              "      <td>234.000000</td>\n",
              "      <td>1.219482</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>354</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>486.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>386.000000</td>\n",
              "      <td>0.681214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-1.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>355</td>\n",
              "      <td>0.002100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>237.000000</td>\n",
              "      <td>56.000000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>237.000000</td>\n",
              "      <td>56.000000</td>\n",
              "      <td>418.000000</td>\n",
              "      <td>2.120075</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>356</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>455.000000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>504.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>455.000000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>504.000000</td>\n",
              "      <td>0.382028</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>357</td>\n",
              "      <td>0.002300</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>205.500000</td>\n",
              "      <td>51.000000</td>\n",
              "      <td>360.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>205.500000</td>\n",
              "      <td>51.000000</td>\n",
              "      <td>360.000000</td>\n",
              "      <td>2.264366</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>358</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>581.000000</td>\n",
              "      <td>576.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>576.000000</td>\n",
              "      <td>576.000000</td>\n",
              "      <td>576.000000</td>\n",
              "      <td>0.037026</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>359</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>157.500000</td>\n",
              "      <td>134.000000</td>\n",
              "      <td>181.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>157.500000</td>\n",
              "      <td>134.000000</td>\n",
              "      <td>181.000000</td>\n",
              "      <td>0.409169</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>360</td>\n",
              "      <td>0.001900</td>\n",
              "      <td>22.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>126.000000</td>\n",
              "      <td>47.000000</td>\n",
              "      <td>205.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>126.000000</td>\n",
              "      <td>47.000000</td>\n",
              "      <td>205.000000</td>\n",
              "      <td>1.942358</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>20.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>361</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>494.500000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>0.698322</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>362</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>413.500000</td>\n",
              "      <td>355.000000</td>\n",
              "      <td>472.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>413.500000</td>\n",
              "      <td>355.000000</td>\n",
              "      <td>472.000000</td>\n",
              "      <td>0.479236</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>363</td>\n",
              "      <td>0.001700</td>\n",
              "      <td>13.000000</td>\n",
              "      <td>12.727922</td>\n",
              "      <td>197.500000</td>\n",
              "      <td>82.000000</td>\n",
              "      <td>313.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>197.500000</td>\n",
              "      <td>82.000000</td>\n",
              "      <td>313.000000</td>\n",
              "      <td>1.737523</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>11.000000</td>\n",
              "      <td>12.727922</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>364</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>63.000000</td>\n",
              "      <td>61.000000</td>\n",
              "      <td>65.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>63.000000</td>\n",
              "      <td>61.000000</td>\n",
              "      <td>65.000000</td>\n",
              "      <td>0.130398</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>365</td>\n",
              "      <td>0.001700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>137.500000</td>\n",
              "      <td>48.000000</td>\n",
              "      <td>227.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>137.500000</td>\n",
              "      <td>48.000000</td>\n",
              "      <td>227.000000</td>\n",
              "      <td>1.702812</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>366</td>\n",
              "      <td>0.000400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>377.000000</td>\n",
              "      <td>479.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>428.000000</td>\n",
              "      <td>377.000000</td>\n",
              "      <td>479.000000</td>\n",
              "      <td>0.389284</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>367</td>\n",
              "      <td>0.001900</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>230.000000</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>393.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>230.000000</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>393.000000</td>\n",
              "      <td>1.908630</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>368</td>\n",
              "      <td>0.001400</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>325.500000</td>\n",
              "      <td>183.000000</td>\n",
              "      <td>468.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>325.500000</td>\n",
              "      <td>183.000000</td>\n",
              "      <td>468.000000</td>\n",
              "      <td>1.446119</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>369</td>\n",
              "      <td>0.002000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>230.000000</td>\n",
              "      <td>62.000000</td>\n",
              "      <td>398.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>230.000000</td>\n",
              "      <td>62.000000</td>\n",
              "      <td>398.000000</td>\n",
              "      <td>1.990488</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>370</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>500.500000</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>510.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>500.500000</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>510.000000</td>\n",
              "      <td>0.070148</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>371</td>\n",
              "      <td>0.002000</td>\n",
              "      <td>0.750000</td>\n",
              "      <td>0.353553</td>\n",
              "      <td>272.000000</td>\n",
              "      <td>85.000000</td>\n",
              "      <td>459.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>272.000000</td>\n",
              "      <td>85.000000</td>\n",
              "      <td>459.000000</td>\n",
              "      <td>2.039691</td>\n",
              "      <td>0.250000</td>\n",
              "      <td>1.060660</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>372</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>56.000000</td>\n",
              "      <td>52.000000</td>\n",
              "      <td>60.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>56.000000</td>\n",
              "      <td>52.000000</td>\n",
              "      <td>60.000000</td>\n",
              "      <td>0.134765</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>373</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>81.500000</td>\n",
              "      <td>79.000000</td>\n",
              "      <td>84.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>81.500000</td>\n",
              "      <td>79.000000</td>\n",
              "      <td>84.000000</td>\n",
              "      <td>0.140218</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>374</td>\n",
              "      <td>0.002300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>184.500000</td>\n",
              "      <td>32.000000</td>\n",
              "      <td>337.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>184.500000</td>\n",
              "      <td>32.000000</td>\n",
              "      <td>337.000000</td>\n",
              "      <td>2.253489</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>375</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>370.500000</td>\n",
              "      <td>343.000000</td>\n",
              "      <td>398.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>370.500000</td>\n",
              "      <td>343.000000</td>\n",
              "      <td>398.000000</td>\n",
              "      <td>0.193932</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>376</td>\n",
              "      <td>0.001200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>121.000000</td>\n",
              "      <td>71.000000</td>\n",
              "      <td>171.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>121.000000</td>\n",
              "      <td>71.000000</td>\n",
              "      <td>171.000000</td>\n",
              "      <td>1.160559</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>377</td>\n",
              "      <td>0.002300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>219.000000</td>\n",
              "      <td>42.000000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>219.000000</td>\n",
              "      <td>42.000000</td>\n",
              "      <td>396.000000</td>\n",
              "      <td>2.254508</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>378</td>\n",
              "      <td>0.002100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>263.000000</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>459.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>263.000000</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>459.000000</td>\n",
              "      <td>2.118315</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>379</td>\n",
              "      <td>0.001800</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>206.500000</td>\n",
              "      <td>73.000000</td>\n",
              "      <td>340.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>206.500000</td>\n",
              "      <td>73.000000</td>\n",
              "      <td>340.000000</td>\n",
              "      <td>1.805867</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>380</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>555.000000</td>\n",
              "      <td>524.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>524.000000</td>\n",
              "      <td>524.000000</td>\n",
              "      <td>524.000000</td>\n",
              "      <td>0.201501</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>381</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>489.500000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>573.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>489.500000</td>\n",
              "      <td>406.000000</td>\n",
              "      <td>573.000000</td>\n",
              "      <td>0.577239</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>382</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>260.000000</td>\n",
              "      <td>210.000000</td>\n",
              "      <td>310.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>260.000000</td>\n",
              "      <td>210.000000</td>\n",
              "      <td>310.000000</td>\n",
              "      <td>0.592210</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>383</td>\n",
              "      <td>0.002100</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>187.000000</td>\n",
              "      <td>49.000000</td>\n",
              "      <td>325.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>187.000000</td>\n",
              "      <td>49.000000</td>\n",
              "      <td>325.000000</td>\n",
              "      <td>2.059804</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>384</td>\n",
              "      <td>0.001200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>134.000000</td>\n",
              "      <td>70.000000</td>\n",
              "      <td>198.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>134.000000</td>\n",
              "      <td>70.000000</td>\n",
              "      <td>198.000000</td>\n",
              "      <td>1.242509</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>385</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>441.000000</td>\n",
              "      <td>413.000000</td>\n",
              "      <td>469.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>441.000000</td>\n",
              "      <td>413.000000</td>\n",
              "      <td>469.000000</td>\n",
              "      <td>0.248932</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>386</td>\n",
              "      <td>0.002300</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>327.000000</td>\n",
              "      <td>68.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>68.000000</td>\n",
              "      <td>68.000000</td>\n",
              "      <td>68.000000</td>\n",
              "      <td>2.298598</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>387</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>83.500000</td>\n",
              "      <td>77.000000</td>\n",
              "      <td>90.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>83.500000</td>\n",
              "      <td>77.000000</td>\n",
              "      <td>90.000000</td>\n",
              "      <td>0.195593</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>388</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>22.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>72.500000</td>\n",
              "      <td>69.000000</td>\n",
              "      <td>76.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>72.500000</td>\n",
              "      <td>69.000000</td>\n",
              "      <td>76.000000</td>\n",
              "      <td>0.204935</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>20.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>389</td>\n",
              "      <td>0.000900</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>101.000000</td>\n",
              "      <td>71.000000</td>\n",
              "      <td>131.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>101.000000</td>\n",
              "      <td>71.000000</td>\n",
              "      <td>131.000000</td>\n",
              "      <td>0.858450</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>390</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>470.500000</td>\n",
              "      <td>450.000000</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>470.500000</td>\n",
              "      <td>450.000000</td>\n",
              "      <td>491.000000</td>\n",
              "      <td>0.167832</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>391</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>358.500000</td>\n",
              "      <td>282.000000</td>\n",
              "      <td>435.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>358.500000</td>\n",
              "      <td>282.000000</td>\n",
              "      <td>435.000000</td>\n",
              "      <td>0.765692</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>392</td>\n",
              "      <td>0.001200</td>\n",
              "      <td>22.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>73.000000</td>\n",
              "      <td>47.000000</td>\n",
              "      <td>99.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>73.000000</td>\n",
              "      <td>47.000000</td>\n",
              "      <td>99.000000</td>\n",
              "      <td>1.239406</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>20.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>393</td>\n",
              "      <td>0.002200</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>247.000000</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>247.000000</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>427.000000</td>\n",
              "      <td>2.186026</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>394</td>\n",
              "      <td>0.000800</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>4.949748</td>\n",
              "      <td>484.500000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>383.000000</td>\n",
              "      <td>0.807172</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>395</td>\n",
              "      <td>0.001200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>175.500000</td>\n",
              "      <td>109.000000</td>\n",
              "      <td>242.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>175.500000</td>\n",
              "      <td>109.000000</td>\n",
              "      <td>242.000000</td>\n",
              "      <td>1.168004</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>396</td>\n",
              "      <td>0.001400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>298.000000</td>\n",
              "      <td>180.000000</td>\n",
              "      <td>416.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>298.000000</td>\n",
              "      <td>180.000000</td>\n",
              "      <td>416.000000</td>\n",
              "      <td>1.357737</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>397</td>\n",
              "      <td>0.001000</td>\n",
              "      <td>22.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>121.500000</td>\n",
              "      <td>75.000000</td>\n",
              "      <td>168.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>121.500000</td>\n",
              "      <td>75.000000</td>\n",
              "      <td>168.000000</td>\n",
              "      <td>1.044050</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>20.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>398</td>\n",
              "      <td>0.001800</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>238.500000</td>\n",
              "      <td>85.000000</td>\n",
              "      <td>392.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>238.500000</td>\n",
              "      <td>85.000000</td>\n",
              "      <td>392.000000</td>\n",
              "      <td>1.849967</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>399</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>199.000000</td>\n",
              "      <td>195.000000</td>\n",
              "      <td>203.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>199.000000</td>\n",
              "      <td>195.000000</td>\n",
              "      <td>203.000000</td>\n",
              "      <td>0.091787</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>400</td>\n",
              "      <td>0.001300</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>291.500000</td>\n",
              "      <td>180.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>291.500000</td>\n",
              "      <td>180.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>1.274630</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>401</td>\n",
              "      <td>0.001100</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>257.000000</td>\n",
              "      <td>152.000000</td>\n",
              "      <td>362.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>257.000000</td>\n",
              "      <td>152.000000</td>\n",
              "      <td>362.000000</td>\n",
              "      <td>1.097028</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>402</td>\n",
              "      <td>0.001700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>105.000000</td>\n",
              "      <td>43.000000</td>\n",
              "      <td>167.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>105.000000</td>\n",
              "      <td>43.000000</td>\n",
              "      <td>167.000000</td>\n",
              "      <td>1.690436</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>403</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>169.000000</td>\n",
              "      <td>136.000000</td>\n",
              "      <td>202.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>169.000000</td>\n",
              "      <td>136.000000</td>\n",
              "      <td>202.000000</td>\n",
              "      <td>0.560683</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>404</td>\n",
              "      <td>0.001200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>343.000000</td>\n",
              "      <td>208.000000</td>\n",
              "      <td>478.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>343.000000</td>\n",
              "      <td>208.000000</td>\n",
              "      <td>478.000000</td>\n",
              "      <td>1.239544</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>405</td>\n",
              "      <td>0.001600</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>284.000000</td>\n",
              "      <td>153.000000</td>\n",
              "      <td>415.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>284.000000</td>\n",
              "      <td>153.000000</td>\n",
              "      <td>415.000000</td>\n",
              "      <td>1.562173</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>406</td>\n",
              "      <td>0.001500</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>273.500000</td>\n",
              "      <td>159.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>273.500000</td>\n",
              "      <td>159.000000</td>\n",
              "      <td>388.000000</td>\n",
              "      <td>1.451282</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>407</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>118.000000</td>\n",
              "      <td>115.000000</td>\n",
              "      <td>121.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>118.000000</td>\n",
              "      <td>115.000000</td>\n",
              "      <td>121.000000</td>\n",
              "      <td>0.183480</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>408</td>\n",
              "      <td>0.001800</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>239.500000</td>\n",
              "      <td>97.000000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>239.500000</td>\n",
              "      <td>97.000000</td>\n",
              "      <td>382.000000</td>\n",
              "      <td>1.769910</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>409</td>\n",
              "      <td>0.000200</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>70.500000</td>\n",
              "      <td>69.000000</td>\n",
              "      <td>72.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>70.500000</td>\n",
              "      <td>69.000000</td>\n",
              "      <td>72.000000</td>\n",
              "      <td>0.169371</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>410</td>\n",
              "      <td>0.002300</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>219.000000</td>\n",
              "      <td>59.000000</td>\n",
              "      <td>379.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>219.000000</td>\n",
              "      <td>59.000000</td>\n",
              "      <td>379.000000</td>\n",
              "      <td>2.271483</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>411</td>\n",
              "      <td>0.001700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>268.500000</td>\n",
              "      <td>95.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>268.500000</td>\n",
              "      <td>95.000000</td>\n",
              "      <td>442.000000</td>\n",
              "      <td>1.651164</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>412</td>\n",
              "      <td>0.002000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>254.000000</td>\n",
              "      <td>70.000000</td>\n",
              "      <td>438.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>254.000000</td>\n",
              "      <td>70.000000</td>\n",
              "      <td>438.000000</td>\n",
              "      <td>1.957052</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>413</td>\n",
              "      <td>0.002100</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>241.500000</td>\n",
              "      <td>68.000000</td>\n",
              "      <td>415.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>241.500000</td>\n",
              "      <td>68.000000</td>\n",
              "      <td>415.000000</td>\n",
              "      <td>2.053868</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>414</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>69.500000</td>\n",
              "      <td>54.000000</td>\n",
              "      <td>85.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>69.500000</td>\n",
              "      <td>54.000000</td>\n",
              "      <td>85.000000</td>\n",
              "      <td>0.531525</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>415</td>\n",
              "      <td>0.002200</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>288.000000</td>\n",
              "      <td>77.000000</td>\n",
              "      <td>499.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>288.000000</td>\n",
              "      <td>77.000000</td>\n",
              "      <td>499.000000</td>\n",
              "      <td>2.155822</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>416</td>\n",
              "      <td>0.001400</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>29.698484</td>\n",
              "      <td>351.000000</td>\n",
              "      <td>196.000000</td>\n",
              "      <td>506.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>351.000000</td>\n",
              "      <td>196.000000</td>\n",
              "      <td>506.000000</td>\n",
              "      <td>1.368013</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>417</td>\n",
              "      <td>0.001000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>306.500000</td>\n",
              "      <td>210.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>306.500000</td>\n",
              "      <td>210.000000</td>\n",
              "      <td>403.000000</td>\n",
              "      <td>1.037190</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>418</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>390.500000</td>\n",
              "      <td>308.000000</td>\n",
              "      <td>473.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>390.500000</td>\n",
              "      <td>308.000000</td>\n",
              "      <td>473.000000</td>\n",
              "      <td>0.680298</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>419</td>\n",
              "      <td>0.001800</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>363.000000</td>\n",
              "      <td>174.000000</td>\n",
              "      <td>552.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>363.000000</td>\n",
              "      <td>174.000000</td>\n",
              "      <td>552.000000</td>\n",
              "      <td>1.817593</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>420</td>\n",
              "      <td>0.001600</td>\n",
              "      <td>13.000000</td>\n",
              "      <td>12.727922</td>\n",
              "      <td>274.500000</td>\n",
              "      <td>133.000000</td>\n",
              "      <td>416.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>274.500000</td>\n",
              "      <td>133.000000</td>\n",
              "      <td>416.000000</td>\n",
              "      <td>1.600329</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>11.000000</td>\n",
              "      <td>12.727922</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>421</td>\n",
              "      <td>0.001500</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>294.000000</td>\n",
              "      <td>157.000000</td>\n",
              "      <td>431.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>294.000000</td>\n",
              "      <td>157.000000</td>\n",
              "      <td>431.000000</td>\n",
              "      <td>1.527992</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>1.414214</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>422</td>\n",
              "      <td>0.002100</td>\n",
              "      <td>2.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>303.000000</td>\n",
              "      <td>94.000000</td>\n",
              "      <td>512.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>303.000000</td>\n",
              "      <td>94.000000</td>\n",
              "      <td>512.000000</td>\n",
              "      <td>2.079181</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>423</td>\n",
              "      <td>0.000700</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>314.000000</td>\n",
              "      <td>250.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>314.000000</td>\n",
              "      <td>250.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>0.713397</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>424</td>\n",
              "      <td>0.002600</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>248.500000</td>\n",
              "      <td>33.000000</td>\n",
              "      <td>464.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>248.500000</td>\n",
              "      <td>33.000000</td>\n",
              "      <td>464.000000</td>\n",
              "      <td>2.623860</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>425</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>-10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>296.500000</td>\n",
              "      <td>265.000000</td>\n",
              "      <td>328.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>296.500000</td>\n",
              "      <td>265.000000</td>\n",
              "      <td>328.000000</td>\n",
              "      <td>0.251168</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>-9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>426</td>\n",
              "      <td>0.000900</td>\n",
              "      <td>10.500000</td>\n",
              "      <td>16.263456</td>\n",
              "      <td>110.500000</td>\n",
              "      <td>72.000000</td>\n",
              "      <td>149.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>110.500000</td>\n",
              "      <td>72.000000</td>\n",
              "      <td>149.000000</td>\n",
              "      <td>0.876259</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>8.500000</td>\n",
              "      <td>16.263456</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>427</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>160.000000</td>\n",
              "      <td>154.000000</td>\n",
              "      <td>166.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>160.000000</td>\n",
              "      <td>154.000000</td>\n",
              "      <td>166.000000</td>\n",
              "      <td>0.139985</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>428</td>\n",
              "      <td>0.000600</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>460.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>542.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>460.000000</td>\n",
              "      <td>378.000000</td>\n",
              "      <td>542.000000</td>\n",
              "      <td>0.649206</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>429</td>\n",
              "      <td>0.001900</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>288.000000</td>\n",
              "      <td>111.000000</td>\n",
              "      <td>465.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>288.000000</td>\n",
              "      <td>111.000000</td>\n",
              "      <td>465.000000</td>\n",
              "      <td>1.934283</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>430</td>\n",
              "      <td>0.000300</td>\n",
              "      <td>11.500000</td>\n",
              "      <td>14.849242</td>\n",
              "      <td>401.500000</td>\n",
              "      <td>367.000000</td>\n",
              "      <td>436.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>401.500000</td>\n",
              "      <td>367.000000</td>\n",
              "      <td>436.000000</td>\n",
              "      <td>0.267479</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>9.500000</td>\n",
              "      <td>14.849242</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>431</td>\n",
              "      <td>0.001900</td>\n",
              "      <td>22.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>206.000000</td>\n",
              "      <td>66.000000</td>\n",
              "      <td>346.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>206.000000</td>\n",
              "      <td>66.000000</td>\n",
              "      <td>346.000000</td>\n",
              "      <td>1.897747</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>20.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <td>432</td>\n",
              "      <td>0.000500</td>\n",
              "      <td>-1.000000</td>\n",
              "      <td>2.828427</td>\n",
              "      <td>515.500000</td>\n",
              "      <td>445.000000</td>\n",
              "      <td>586.000000</td>\n",
              "      <td>0.500000</td>\n",
              "      <td>445.000000</td>\n",
              "      <td>445.000000</td>\n",
              "      <td>445.000000</td>\n",
              "      <td>0.539420</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>2.121320</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.414214</td>\n",
              "      <td>-0.500000</td>\n",
              "      <td>0.707107</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table><p>"
            ],
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\u001b[1;30;43mStreaming output truncated to the last 5000 lines.\u001b[0m\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;208m1024\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "def strategy(board):\n",
            "    import random\n",
            "    return random.choice([\"W\", \"A\", \"S\", \"D\"])\n",
            "Steps = 1582 State = success\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;214m 512\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Exception = name 'random' is not defined\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    import copy\n",
            "    dirs = {'W':(-1,0),'S':(1,0),'A':(0,-1),'D':(0,1)}\n",
            "    best_move = None\n",
            "    best_score = -1\n",
            "    def move(b, d):\n",
            "        rows, cols = 4,4\n",
            "        def slide(row):\n",
            "            new = [x for x in row if x]\n",
            "            res = []\n",
            "            skip=False\n",
            "            i=0\n",
            "            while i < len(new):\n",
            "                if i+1<len(new) and new[i]==new[i+1]:\n",
            "                    res.append(new[i]*2)\n",
            "                    i+=2\n",
            "                else:\n",
            "                    res.append(new[i])\n",
            "                    i+=1\n",
            "            res += [0]*(rows-len(res))\n",
            "            return res\n",
            "        b = copy.deepcopy(b)\n",
            "        for _ in range(d[0]): b = b[::-1]\n",
            "        for _ in range(d[1]): b = [list(x) for x in zip(*b[::-1])]\n",
            "        for i in range(rows):\n",
            "            b[i] = slide(b[i])\n",
            "        for _ in range(-d[0]): b = b[::-1]\n",
            "        for _ in range(-d[1]): b = [list(x) for x in zip(*b[::-1])]\n",
            "        return b\n",
            "    for m, (dy,dx) in dirs.items():\n",
            "        nb = move(board,(dy,dx))\n",
            "        score = sum(sum(row) for row in nb)\n",
            "        if score>best_score:\n",
            "            best_score=score\n",
            "            best_move=m\n",
            "    return best_move\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    import random\n",
            "    moves = [\"W\", \"A\", \"S\", \"D\"]\n",
            "    # simple heuristic: prefer moves that increase score locally\n",
            "    best = None\n",
            "    best_score = -1\n",
            "    def simulate(board, move):\n",
            "        # copy board\n",
            "        import copy, math\n",
            "        b = copy.deepcopy(board)\n",
            "        # apply move logic simplified: just return new board\n",
            "        # without full game logic, just random for illustration\n",
            "        return b, random.randint(0, 4)\n",
            "    for m in moves:\n",
            "        _, s = simulate(board, m)\n",
            "        if s > best_score:\n",
            "            best_score = s\n",
            "            best = m\n",
            "    return best or random.choice(moves)\n",
            "Steps = 1310 State = success\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    import copy, itertools, random\n",
            "\n",
            "    def merge(row):\n",
            "        nonlocal score\n",
            "        new = [x for x in row if x]\n",
            "        merged = []\n",
            "        i = 0\n",
            "        while i < len(new):\n",
            "            if i+1 < len(new) and new[i]==new[i+1]:\n",
            "                merged.append(new[i]*2)\n",
            "                score += new[i]*2\n",
            "                i += 2\n",
            "            else:\n",
            "                merged.append(new[i])\n",
            "                i += 1\n",
            "        merged += [0]*(len(row)-len(merged))\n",
            "        return merged\n",
            "\n",
            "    def transform(b, dir):\n",
            "        new = copy.deepcopy(b)\n",
            "        if dir=='W':\n",
            "            for c in range(4):\n",
            "                col=[new[r][c] for r in range(4)]\n",
            "                col=merge(col)\n",
            "                for r in range(4): new[r][c]=col[r]\n",
            "        if dir=='S':\n",
            "            for c in range(4):\n",
            "                col=[new[r][c] for r in range(4)][::-1]\n",
            "                col=merge(col)\n",
            "                col=col[::-1]\n",
            "                for r in range(4): new[r][c]=col[r]\n",
            "        if dir=='A':\n",
            "            for r in range(4):\n",
            "                new[r]=merge(new[r])\n",
            "        if dir=='D':\n",
            "            for r in range(4):\n",
            "                new[r]=merge(new[r][::-1])[::-1]\n",
            "        return new\n",
            "\n",
            "    def board_score(b):\n",
            "        return max(max(row) for row in b)\n",
            "\n",
            "    best=None; best_score=-1\n",
            "    dirs='WASD'\n",
            "    for d in dirs:\n",
            "        new=transform(board,d)\n",
            "        if new!=board:\n",
            "            s=board_score(new)\n",
            "            if s>best_score:\n",
            "                best_score=s; best=d\n",
            "    return best if best else random.choice('WASD')\n",
            "Timeout\n",
            "Steps = 1129 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    return random.choice([\"W\", \"A\", \"S\", \"D\"])\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    # Simple heuristic: always push left\n",
            "    return \"A\"\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    return \"W\"  # simple fixed strategy\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    return \"W\"  # Basic placeholder strategy: always move up\n",
            "Timeout\n",
            "Timeout\n",
            "Steps = 1223 State = success\n",
            "def strategy(board):\n",
            "    # Simple heuristic: always try to move up if possible, otherwise random legal move\n",
            "    from random import choice\n",
            "    moves = ['W', 'A', 'S', 'D']\n",
            "    return choice(moves)\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    \"\"\"Very simple 2048 strategy: always try to move up if tiles can combine, else down, left, right.\"\"\"\n",
            "    # helper to check if any move is possible in a given direction\n",
            "    def can_move(b, dir):\n",
            "        n = len(b)\n",
            "        # simulate slide in given direction, return True if any change\n",
            "        temp = [row[:] for row in b]\n",
            "        moved = False\n",
            "        if dir == 'W':\n",
            "            for c in range(n):\n",
            "                col = [temp[r][c] for r in range(n)]\n",
            "                merged, _ = slide(col)\n",
            "                if merged != col:\n",
            "                    moved = True\n",
            "                    for r in range(n):\n",
            "                        temp[r][c] = merged[r]\n",
            "        elif dir == 'S':\n",
            "            for c in range(n):\n",
            "                col = [temp[r][c] for r in range(n)][::-1]\n",
            "                merged, _ = slide(col)\n",
            "                merged = merged[::-1]\n",
            "                if merged != [temp[r][c] for r in range(n)]:\n",
            "                    moved = True\n",
            "                    for r in range(n):\n",
            "                        temp[n-1-r][c] = merged[r]\n",
            "        elif dir == 'A':\n",
            "            for r in range(n):\n",
            "                row = temp[r][:]\n",
            "                merged, _ = slide(row)\n",
            "                if merged != row:\n",
            "                    moved = True\n",
            "                    temp[r] = merged\n",
            "        elif dir == 'D':\n",
            "            for r in range(n):\n",
            "                row = temp[r][::-1]\n",
            "                merged, _ = slide(row)\n",
            "                merged = merged[::-1]\n",
            "                if merged != temp[r]:\n",
            "                    moved = True\n",
            "                    temp[r] = merged\n",
            "        return moved\n",
            "\n",
            "    def slide(line):\n",
            "        \"\"\"Slide non-zeros left and merge.\"\"\"\n",
            "        new = [x for x in line if x != 0]\n",
            "        merged = []\n",
            "        skip = False\n",
            "        i = 0\n",
            "        while i < len(new):\n",
            "            if i+1 < len(new) and new[i] == new[i+1]:\n",
            "                merged.append(new[i]*2)\n",
            "                i += 2\n",
            "            else:\n",
            "                merged.append(new[i])\n",
            "                i += 1\n",
            "        merged += [0]*(len(line)-len(merged))\n",
            "        return merged, merged != line\n",
            "\n",
            "    for d in ['W','S','A','D']:\n",
            "        if can_move(board, d):\n",
            "            return d\n",
            "    return 'W'  # fallback\n",
            "Steps = 205 State = failed\n",
            "┌───┬───┬───┬───┬───┬───┐\n",
            "│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;118m 64\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;46m 32\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;118m 64\u001b[0m│\u001b[38;5;46m 32\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;118m 64\u001b[0m│\u001b[38;5;46m 32\u001b[0m│\u001b[38;5;47m 16\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;46m 32\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;47m 16\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\n",
            "└───┴───┴───┴───┴───┴───┘\n",
            "Timeout\n",
            "Timeout\n",
            "Steps = 988 State = failed\n",
            "def strategy(board):\n",
            "    # Helper to simulate a move\n",
            "    def move(board, key):\n",
            "        def compress(row):\n",
            "            new = [x for x in row if x]\n",
            "            for i in range(len(new)-1):\n",
            "                if new[i]==new[i+1]:\n",
            "                    new[i]*=2\n",
            "                    new[i+1]=0\n",
            "            return [x for x in new if x]\n",
            "        def transpose(b):\n",
            "            return [list(i) for i in zip(*b)]\n",
            "        def reverse(b):\n",
            "            return [row[::-1] for row in b]\n",
            "        def slide_left(b):\n",
            "            return [compress(r) + [0]*(len(b[0])-len(compress(r))) for r in b]\n",
            "        def apply(b, k):\n",
            "            n=len(b)\n",
            "            if k=='W':return transpose(slide_left(transpose(b)))\n",
            "            if k=='S':return transpose(reverse(slide_left(reverse(transpose(b)))))\n",
            "            if k=='A':return slide_left(b)\n",
            "            if k=='D':return reverse(slide_left(reverse(b)))\n",
            "        return apply(board, key)\n",
            "    moves = \"WASD\"\n",
            "    for m in moves:\n",
            "        if move(board, m)!=board:\n",
            "            return m\n",
            "    return \"W\"\n",
            "┌───┬───┬───┬───┬───┬───┐\n",
            "│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;214m512\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;46m 32\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;214m512\u001b[0m│\u001b[38;5;154m128\u001b[0m│\u001b[38;5;118m 64\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;118m 64\u001b[0m│\u001b[38;5;46m 32\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;154m128\u001b[0m│\u001b[38;5;46m 32\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;226m256\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;47m 16\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;118m 64\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;46m 32\u001b[0m│\u001b[38;5;118m 64\u001b[0m│\u001b[38;5;46m 32\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;46m 32\u001b[0m│\u001b[38;5;47m 16\u001b[0m│\u001b[38;5;118m 64\u001b[0m│\u001b[38;5;46m 32\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;47m 16\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\n",
            "└───┴───┴───┴───┴───┴───┘\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    return \"W\"\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Exception = list index out of range\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    # Simple strategy: always move up unless the board is empty.\n",
            "    return \"W\"\n",
            "Timeout\n",
            "Timeout\n",
            "Steps = 1095 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    return random.choice([\"W\",\"A\",\"S\",\"D\"])\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Steps = 1285 State = success\n",
            "def strategy(board):\n",
            "    # Simple heuristic: try to move left if possible, otherwise random\n",
            "    from random import choice\n",
            "    moves = [\"W\", \"A\", \"S\", \"D\"]\n",
            "    return choice(moves)\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "def strategy(board):\n",
            "    import random\n",
            "    moves = \"WASD\"\n",
            "    return random.choice(moves)\n",
            "Steps = 1181 State = success\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    # Define move application\n",
            "    def move(mat, dir):\n",
            "        def compress(row):\n",
            "            new = [x for x in row if x != 0]\n",
            "            res = []\n",
            "            skip = False\n",
            "            for i in range(len(new)):\n",
            "                if skip:\n",
            "                    skip = False\n",
            "                    continue\n",
            "                if i+1 < len(new) and new[i] == new[i+1]:\n",
            "                    res.append(new[i]*2)\n",
            "                    skip = True\n",
            "                else:\n",
            "                    res.append(new[i])\n",
            "            res += [0]*(len(row)-len(res))\n",
            "            return res\n",
            "        def transpose(m): return [list(row) for row in zip(*m)]\n",
            "        m = [r[:] for r in mat]\n",
            "        if dir == 'W':          # up\n",
            "            m = transpose(m)\n",
            "            m = [compress(row) for row in m]\n",
            "            m = transpose(m)\n",
            "        elif dir == 'S':        # down\n",
            "            m = transpose(m)\n",
            "            m = [compress(row[::-1])[::-1] for row in m]\n",
            "            m = transpose(m)\n",
            "        elif dir == 'A':        # left\n",
            "            m = [compress(row) for row in m]\n",
            "        elif dir == 'D':        # right\n",
            "            m = [compress(row[::-1])[::-1] for row in m]\n",
            "        return m\n",
            "\n",
            "    # Evaluate board by total merge value\n",
            "    def score(mat):\n",
            "        return sum(sum(row) for row in mat)\n",
            "\n",
            "    best_move = None\n",
            "    best_score = -1\n",
            "    for move_char in 'WASD':\n",
            "        new_board = move(board, move_char)\n",
            "        sc = score(new_board)\n",
            "        if sc > best_score:\n",
            "            best_score = sc\n",
            "            best_move = move_char\n",
            "    return best_move\n",
            "Timeout\n",
            "Timeout\n",
            "Steps = 1264 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    return random.choice([\"W\", \"A\", \"S\", \"D\"])\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Steps = 1157 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    moves = ['W', 'A', 'S', 'D']\n",
            "    # Simple heuristic: choose a random valid move\n",
            "    return random.choice(moves)\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    import random\n",
            "    moves = [\"W\", \"A\", \"S\", \"D\"]\n",
            "    return random.choice(moves)\n",
            "Steps = 1490 State = success\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;214m 512\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Steps = 1072 State = failed\n",
            "def strategy(board):\n",
            "    import copy, random\n",
            "    def move(b, d):\n",
            "        # simple 2048 move implementation\n",
            "        def slide(arr):\n",
            "            arr = [x for x in arr if x!=0]\n",
            "            res=[]\n",
            "            skip=False\n",
            "            for i in range(len(arr)):\n",
            "                if skip: skip=False; continue\n",
            "                if i+1<len(arr) and arr[i]==arr[i+1]:\n",
            "                    res.append(arr[i]*2); skip=True\n",
            "                else:\n",
            "                    res.append(arr[i])\n",
            "            res+= [0]*(len(b)-len(res))\n",
            "            return res\n",
            "        N=len(b)\n",
            "        new=[[0]*N for _ in range(N)]\n",
            "        if d=='W':\n",
            "            for c in range(N):\n",
            "                col=[b[r][c] for r in range(N)]\n",
            "                col=slide(col)\n",
            "                for r in range(N): new[r][c]=col[r]\n",
            "        elif d=='S':\n",
            "            for c in range(N):\n",
            "                col=[b[r][c] for r in range(N)][::-1]\n",
            "                col=slide(col)[::-1]\n",
            "                for r in range(N): new[r][c]=col[r]\n",
            "        elif d=='A':\n",
            "            for r in range(N):\n",
            "                row=slide(b[r])\n",
            "                new[r]=row\n",
            "        elif d=='D':\n",
            "            for r in range(N):\n",
            "                row=slide(b[r][::-1])[::-1]\n",
            "                new[r]=row\n",
            "        return new\n",
            "    directions='WASD'\n",
            "    for d in directions:\n",
            "        if move(board,d)!=board:\n",
            "            return d\n",
            "    return random.choice(directions)\n",
            "┌───┬───┬───┬───┬───┬───┐\n",
            "│\u001b[38;5;226m256\u001b[0m│\u001b[38;5;47m 16\u001b[0m│\u001b[38;5;226m256\u001b[0m│\u001b[38;5;118m 64\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;214m512\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;47m 16\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;214m512\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;226m256\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;154m128\u001b[0m│\u001b[38;5;46m 32\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;118m 64\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;118m 64\u001b[0m│\u001b[38;5;46m 32\u001b[0m│\u001b[38;5;118m 64\u001b[0m│\u001b[38;5;47m 16\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;47m 16\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\n",
            "├───┼───┼───┼───┼───┼───┤\n",
            "│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;49m  8\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\u001b[38;5;51m  4\u001b[0m│\u001b[38;5;45m  2\u001b[0m│\n",
            "└───┴───┴───┴───┴───┴───┘\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    import copy\n",
            "    import random\n",
            "\n",
            "    def move(b, dir):\n",
            "        def slide_line(line):\n",
            "            new = [i for i in line if i != 0]\n",
            "            res = []\n",
            "            skip = False\n",
            "            for i in range(len(new)):\n",
            "                if skip:\n",
            "                    skip = False\n",
            "                    continue\n",
            "                if i+1 < len(new) and new[i] == new[i+1]:\n",
            "                    res.append(new[i]*2)\n",
            "                    skip = True\n",
            "                else:\n",
            "                    res.append(new[i])\n",
            "            res += [0]*(4-len(res))\n",
            "            return res\n",
            "\n",
            "        def rotate(b, times):\n",
            "            for _ in range(times):\n",
            "                b = [list(row) for row in zip(*b[::-1])]\n",
            "            return b\n",
            "\n",
            "        rot_map = {'W':0,'D':1,'S':2,'A':3}\n",
            "        b = rotate(copy.deepcopy(b), rot_map[dir])\n",
            "        for i in range(4):\n",
            "            b[i] = slide_line(b[i])\n",
            "        b = rotate(b, (4-rot_map[dir])%4)\n",
            "        return b\n",
            "\n",
            "    def empty_count(b):\n",
            "        return sum(row.count(0) for row in b)\n",
            "\n",
            "    moves = [\"W\",\"A\",\"S\",\"D\"]\n",
            "    best = None\n",
            "    best_empty = -1\n",
            "    for m in moves:\n",
            "        new = move(board, m)\n",
            "        if new != board:\n",
            "            e = empty_count(new)\n",
            "            if e > best_empty:\n",
            "                best_empty = e\n",
            "                best = m\n",
            "    return best if best else random.choice(moves)\n",
            "Timeout\n",
            "Timeout\n",
            "Steps = 1372 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    # choose a random valid move from 'W', 'A', 'S', 'D'\n",
            "    return random.choice([\"W\", \"A\", \"S\", \"D\"])\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Steps = 1228 State = success\n",
            "def strategy(board):\n",
            "    from random import choice\n",
            "    \n",
            "    # Possible moves\n",
            "    moves = ['W', 'A', 'S', 'D']\n",
            "    \n",
            "    # Simple heuristic: prefer moves that generate a merge or create a larger tile\n",
            "    def can_merge(b, move):\n",
            "        # Simulate a move and check if any tiles merge\n",
            "        # For brevity, just return False for this example\n",
            "        return False\n",
            "    \n",
            "    # Filter moves that could potentially merge\n",
            "    valid_moves = [m for m in moves if can_merge(board, m)]\n",
            "    if valid_moves:\n",
            "        return choice(valid_moves)\n",
            "    \n",
            "    # Fallback: random move\n",
            "    return choice(moves)\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    import random\n",
            "    # Simple heuristic: try moves in random order until one changes the board\n",
            "    moves = ['W','A','S','D']\n",
            "    random.shuffle(moves)\n",
            "    def can_move(b, dir):\n",
            "        # simulate a move and check if board changes\n",
            "        def rotate(b, times):\n",
            "            for _ in range(times):\n",
            "                b = [list(row) for row in zip(*b[::-1])]\n",
            "            return b\n",
            "        n = len(b)\n",
            "        def merge_line(line):\n",
            "            new = [x for x in line if x]\n",
            "            merged = []\n",
            "            skip = False\n",
            "            for i in range(len(new)):\n",
            "                if skip: skip = False; continue\n",
            "                if i+1 < len(new) and new[i] == new[i+1]:\n",
            "                    merged.append(new[i]*2)\n",
            "                    skip = True\n",
            "                else:\n",
            "                    merged.append(new[i])\n",
            "            merged += [0]*(n-len(merged))\n",
            "            return merged\n",
            "        def move(b, dir):\n",
            "            if dir=='W':\n",
            "                b = rotate(b,3)\n",
            "            elif dir=='S':\n",
            "                b = rotate(b,1)\n",
            "            elif dir=='D':\n",
            "                b = rotate(b,2)\n",
            "            new_b = []\n",
            "            for row in b:\n",
            "                new_b.append(merge_line(row))\n",
            "            # rotate back\n",
            "            for _ in range((4-({'W':3,'S':1,'D':2,'A':0}[dir]))%4):\n",
            "                new_b = [list(row) for row in zip(*new_b[::-1])]\n",
            "            return new_b\n",
            "        return move(b, dir) != b\n",
            "    for m in moves:\n",
            "        if can_move(board, m):\n",
            "            return m\n",
            "    return random.choice(moves)\n",
            "Steps = 1173 State = success\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Steps = 1221 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    # Convert board to 4x4 grid\n",
            "    size = len(board)\n",
            "    directions = [\"W\", \"A\", \"S\", \"D\"]\n",
            "    \n",
            "    def move_possible(d):\n",
            "        # Basic check: return True if at least one move in that direction changes board\n",
            "        rowc, colc = 0, 0\n",
            "        for r in range(size):\n",
            "            for c in range(size):\n",
            "                if board[r][c] == 0:\n",
            "                    return True\n",
            "        return False\n",
            "    \n",
            "    # Randomly pick a direction that is valid (here we just return a random choice)\n",
            "    # In a real strategy you'd evaluate each move, but for brevity we pick random\n",
            "    return random.choice(directions)\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    # A very simple strategy: always move up ('W') unless it would lose immediately.\n",
            "    # This is a placeholder; a more sophisticated strategy would evaluate moves.\n",
            "    return \"W\"\n",
            "Timeout\n",
            "Exception = name 'copy' is not defined\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    # Simple heuristic: choose the move that yields the most empty tiles after simulation\n",
            "    import random, copy\n",
            "\n",
            "    moves = ['W', 'A', 'S', 'D']\n",
            "    def simulate(b, m):\n",
            "        # naive clone and apply a single shift (no merging logic)\n",
            "        return b  # placeholder, as full 2048 logic is complex\n",
            "\n",
            "    best = moves[0]\n",
            "    best_empty = -1\n",
            "    for m in moves:\n",
            "        b_copy = copy.deepcopy(board)\n",
            "        # placeholder: pretend each move yields random empty count\n",
            "        empty = random.randint(0, 15)  # dummy\n",
            "        if empty > best_empty:\n",
            "            best_empty = empty\n",
            "            best = m\n",
            "    return best\n",
            "Steps = 1260 State = success\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Steps = 1500 State = failed\n",
            "def strategy(board):\n",
            "    # Simple heuristic: try moves in order, pick first that changes board\n",
            "    def tilt(board, dir):\n",
            "        n = len(board)\n",
            "        def compress(row):\n",
            "            new = [x for x in row if x]\n",
            "            for i in range(len(new)-1):\n",
            "                if new[i] == new[i+1]:\n",
            "                    new[i] *= 2\n",
            "                    new[i+1] = 0\n",
            "            new = [x for x in new if x]\n",
            "            return new + [0]*(n-len(new))\n",
            "        result = [[0]*n for _ in range(n)]\n",
            "        for i in range(n):\n",
            "            for j in range(n):\n",
            "                result[i][j] = board[i][j]\n",
            "        if dir == \"W\":\n",
            "            for j in range(n):\n",
            "                col = [result[i][j] for i in range(n)]\n",
            "                newcol = compress(col)\n",
            "                for i in range(n): result[i][j] = newcol[i]\n",
            "        elif dir == \"S\":\n",
            "            for j in range(n):\n",
            "                col = [result[i][j] for i in range(n)][::-1]\n",
            "                newcol = compress(col)[::-1]\n",
            "                for i in range(n): result[i][j] = newcol[i]\n",
            "        elif dir == \"A\":\n",
            "            for i in range(n):\n",
            "                newrow = compress(result[i])\n",
            "                result[i] = newrow\n",
            "        elif dir == \"D\":\n",
            "            for i in range(n):\n",
            "                newrow = compress(result[i][::-1])[::-1]\n",
            "                result[i] = newrow\n",
            "        return result\n",
            "    moves = [\"W\",\"A\",\"S\",\"D\"]\n",
            "    for m in moves:\n",
            "        if tilt(board, m) != board:\n",
            "            return m\n",
            "    return moves[0]\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;208m1024\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;214m 512\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "def strategy(board):\n",
            "    # Simple Monte‑Carlo style: try all moves, pick the one that gives the highest\n",
            "    # immediate score (sum of merged tiles) in one step.  \n",
            "    def simulate_move(b, dir):\n",
            "        import copy\n",
            "        b2 = copy.deepcopy(b)\n",
            "        size = len(b2)\n",
            "        score = 0\n",
            "\n",
            "        def compress_line(line):\n",
            "            nonlocal score\n",
            "            new = [x for x in line if x != 0]\n",
            "            merged = []\n",
            "            i = 0\n",
            "            while i < len(new):\n",
            "                if i+1 < len(new) and new[i] == new[i+1]:\n",
            "                    merged.append(new[i]*2)\n",
            "                    score += new[i]*2\n",
            "                    i += 2\n",
            "                else:\n",
            "                    merged.append(new[i])\n",
            "                    i += 1\n",
            "            merged += [0]*(size-len(merged))\n",
            "            return merged\n",
            "\n",
            "        def move_left(mat):\n",
            "            for i in range(size):\n",
            "                mat[i] = compress_line(mat[i])\n",
            "\n",
            "        def transpose(mat):\n",
            "            return [list(row) for row in zip(*mat)]\n",
            "\n",
            "        if dir == \"W\":\n",
            "            move_left(transpose(b2))\n",
            "            transpose(b2)\n",
            "        elif dir == \"S\":\n",
            "            move_left(b2)\n",
            "        elif dir == \"A\":\n",
            "            move_left(b2)\n",
            "        elif dir == \"D\":\n",
            "            move_left(transpose(b2))\n",
            "            transpose(b2)\n",
            "\n",
            "        return score\n",
            "\n",
            "    best_dir = None\n",
            "    best_score = -1\n",
            "    for d in \"WASD\":\n",
            "        sc = simulate_move(board, d)\n",
            "        if sc > best_score:\n",
            "            best_score, best_dir = sc, d\n",
            "    return best_dir if best_dir else \"W\"\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    import copy, random\n",
            "    def move(b, dir):\n",
            "        size=len(b)\n",
            "        def rotate(b):\n",
            "            return [list(row) for row in zip(*b[::-1])]\n",
            "        if dir=='W':\n",
            "            g=rotate(rotate(rotate(rotate(b))))\n",
            "        elif dir=='A':\n",
            "            g=rotate(rotate(b))\n",
            "        elif dir=='D':\n",
            "            g=rotate(b)\n",
            "        else:\n",
            "            g=b\n",
            "        # slide rows left\n",
            "        def slide(row):\n",
            "            new=[i for i in row if i!=0]\n",
            "            res=[]\n",
            "            i=0\n",
            "            while i<len(new):\n",
            "                if i+1<len(new) and new[i]==new[i+1]:\n",
            "                    res.append(new[i]*2)\n",
            "                    i+=2\n",
            "                else:\n",
            "                    res.append(new[i])\n",
            "                    i+=1\n",
            "            res+= [0]*(size-len(res))\n",
            "            return res\n",
            "        for i in range(size):\n",
            "            g[i]=slide(g[i])\n",
            "        # rotate back\n",
            "        if dir=='W':\n",
            "            for _ in range(3): g=rotate(g)\n",
            "        elif dir=='A':\n",
            "            g=rotate(rotate(g))\n",
            "        elif dir=='D':\n",
            "            g=rotate(g)\n",
            "        return g\n",
            "    best=None;bestdir=None;bestscore=-1\n",
            "    for d in \"WASD\":\n",
            "        nxt=move(board,d)\n",
            "        score=sum(sum(row) for row in nxt)\n",
            "        if score>bestscore:\n",
            "            bestscore=score;bestdir=d\n",
            "    return bestdir or random.choice(\"WASD\")\n",
            "Timeout\n",
            "Timeout\n",
            "Steps = 1427 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    return random.choice([\"W\",\"A\",\"S\",\"D\"])\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Steps = 1150 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    return random.choice([\"W\", \"A\", \"S\", \"D\"])\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "def strategy(board):\n",
            "    # Simple strategy: always try to move up if possible, otherwise random\n",
            "    # Since we don't have a full engine, just return \"W\".\n",
            "    return \"W\"\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Steps = 1347 State = success\n",
            "def strategy(board):\n",
            "    # Simple random move strategy\n",
            "    import random\n",
            "    return random.choice([\"W\", \"A\", \"S\", \"D\"])\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "def strategy(board):\n",
            "    # Simple heuristic: try all moves and pick the one that results in the most merges\n",
            "    def rotate_cw(b):  # rotate the board 90° clockwise\n",
            "        return [ [b[3-j][i] for j in range(4)] for i in range(4) ]\n",
            "\n",
            "    def compress(b):\n",
            "        new_b = [[0]*4 for _ in range(4)]\n",
            "        score = 0\n",
            "        for i in range(4):\n",
            "            pos = 0\n",
            "            last = 0\n",
            "            for j in range(4):\n",
            "                val = b[i][j]\n",
            "                if val:\n",
            "                    if val == last:\n",
            "                        new_b[i][pos-1] *= 2\n",
            "                        score += new_b[i][pos-1]\n",
            "                        last = 0\n",
            "                    else:\n",
            "                        last = val\n",
            "                        new_b[i][pos] = val\n",
            "                        pos += 1\n",
            "        return new_b, score\n",
            "\n",
            "    def move_left(b):\n",
            "        compressed, s = compress(b)\n",
            "        return compressed, s\n",
            "\n",
            "    def move(board, dir):\n",
            "        b = [row[:] for row in board]\n",
            "        for _ in range(dir):  # 0:W,1:D,2:S,3:A\n",
            "            b = rotate_cw(b)\n",
            "        new_b, score = move_left(b)\n",
            "        for _ in range(4-dir):\n",
            "            new_b = rotate_cw(new_b)\n",
            "        return new_b, score\n",
            "\n",
            "    moves = ['W','A','S','D']\n",
            "    best_move = None\n",
            "    best_score = -1\n",
            "    for i, m in enumerate(moves):\n",
            "        _, s = move(board, i)\n",
            "        if s > best_score:\n",
            "            best_score, best_move = s, m\n",
            "    return best_move\n",
            "Timeout\n",
            "Steps = 1363 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    return random.choice([\"W\",\"A\",\"S\",\"D\"])\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    \"\"\"\n",
            "    A very simple strategy for 2048: try moves in the order W, A, S, D\n",
            "    and return the first one that changes the board state.\n",
            "    \"\"\"\n",
            "    def can_move(b, dir):\n",
            "        # simulate a move and check if board changes\n",
            "        from copy import deepcopy\n",
            "        import numpy as np\n",
            "\n",
            "        def move(b):\n",
            "            # inner helper to shift and merge once\n",
            "            def merge(arr):\n",
            "                result = []\n",
            "                skip = False\n",
            "                for i in range(len(arr)):\n",
            "                    if skip:\n",
            "                        skip = False\n",
            "                        continue\n",
            "                    if i+1 < len(arr) and arr[i] and arr[i] == arr[i+1]:\n",
            "                        result.append(arr[i]*2)\n",
            "                        skip = True\n",
            "                    else:\n",
            "                        result.append(arr[i])\n",
            "                return result + [0]*(len(arr)-len(result))\n",
            "\n",
            "            n = len(b)\n",
            "            new_board = [[0]*n for _ in range(n)]\n",
            "            if dir == 'W':\n",
            "                for j in range(n):\n",
            "                    col = [b[i][j] for i in range(n)]\n",
            "                    moved = merge(col)\n",
            "                    for i in range(n):\n",
            "                        new_board[i][j] = moved[i]\n",
            "            elif dir == 'S':\n",
            "                for j in range(n):\n",
            "                    col = [b[i][j] for i in range(n)][::-1]\n",
            "                    moved = merge(col)\n",
            "                    moved = moved[::-1]\n",
            "                    for i in range(n):\n",
            "                        new_board[i][j] = moved[i]\n",
            "            elif dir == 'A':\n",
            "                for i in range(n):\n",
            "                    row = b[i]\n",
            "                    moved = merge(row)\n",
            "                    new_board[i] = moved\n",
            "            elif dir == 'D':\n",
            "                for i in range(n):\n",
            "                    row = b[i][::-1]\n",
            "                    moved = merge(row)\n",
            "                    new_board[i] = moved[::-1]\n",
            "            return new_board\n",
            "\n",
            "        new_board = move(b)\n",
            "        return new_board != b\n",
            "\n",
            "    for d in ['W','A','S','D']:\n",
            "        if can_move(board, d):\n",
            "            return d\n",
            "    # if no move changes board, pick any (fallback)\n",
            "    return 'W'\n",
            "Timeout\n",
            "Steps = 1136 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    # Simple heuristic: Random move that changes the board\n",
            "    moves = [\"W\", \"A\", \"S\", \"D\"]\n",
            "    \n",
            "    def board_after_move(b, m):\n",
            "        # simulate movement by creating a copy of board and applying move\n",
            "        # This is a very simplified implementation: in actual 2048 logic\n",
            "        # you'd need to merge tiles. For demo purposes, just return original.\n",
            "        return b  # placeholder\n",
            "    \n",
            "    random.shuffle(moves)\n",
            "    for m in moves:\n",
            "        if board_after_move(board, m) != board:\n",
            "            return m\n",
            "    return moves[0]\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    import random\n",
            "    # simple heuristic: pick a random valid move\n",
            "    # Define helper to check if move is valid (changes board)\n",
            "    def move_possible(b, move):\n",
            "        # create a copy and apply move, compare\n",
            "        import copy\n",
            "        tmp = copy.deepcopy(b)\n",
            "        # apply move on tmp\n",
            "        def move_board(bd, dir):\n",
            "            size = len(bd)\n",
            "            # helper to compress row/col\n",
            "            def compress(line):\n",
            "                # shift and merge\n",
            "                new = [v for v in line if v!=0]\n",
            "                res = []\n",
            "                skip = False\n",
            "                i = 0\n",
            "                while i < len(new):\n",
            "                    if i+1 < len(new) and new[i]==new[i+1]:\n",
            "                        res.append(new[i]*2)\n",
            "                        i+=2\n",
            "                    else:\n",
            "                        res.append(new[i])\n",
            "                        i+=1\n",
            "                res += [0]*(size-len(res))\n",
            "                return res\n",
            "            if dir==\"L\":\n",
            "                for i in range(size):\n",
            "                    bd[i]=compress(bd[i])\n",
            "            elif dir==\"R\":\n",
            "                for i in range(size):\n",
            "                    bd[i]=list(reversed(compress(list(reversed(bd[i])))))\n",
            "            elif dir==\"U\":\n",
            "                for j in range(size):\n",
            "                    col=[bd[i][j] for i in range(size)]\n",
            "                    col=compress(col)\n",
            "                    for i in range(size):\n",
            "                        bd[i][j]=col[i]\n",
            "            elif dir==\"D\":\n",
            "                for j in range(size):\n",
            "                    col=[bd[i][j] for i in range(size)]\n",
            "                    col=list(reversed(compress(list(reversed(col)))))\n",
            "                    for i in range(size):\n",
            "                        bd[i][j]=col[i]\n",
            "        move_board(tmp, move)\n",
            "        return tmp != b\n",
            "\n",
            "    directions = [\"W\",\"A\",\"S\",\"D\"]\n",
            "    valid_moves = [m for m in directions if move_possible(board, m)]\n",
            "    return random.choice(valid_moves) if valid_moves else \"W\"\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Steps = 2185 State = failed\n",
            "def strategy(board):\n",
            "    def can_move(board, dir):\n",
            "        def move(board, dir):\n",
            "            def compress(line):\n",
            "                new = [x for x in line if x]\n",
            "                merged = []\n",
            "                skip = False\n",
            "                i = 0\n",
            "                while i < len(new):\n",
            "                    if i+1 < len(new) and new[i] == new[i+1]:\n",
            "                        merged.append(new[i]*2)\n",
            "                        i += 2\n",
            "                    else:\n",
            "                        merged.append(new[i])\n",
            "                        i += 1\n",
            "                merged += [0]*(len(line)-len(merged))\n",
            "                return merged\n",
            "            n = len(board)\n",
            "            b = [row[:] for row in board]\n",
            "            if dir=='W':\n",
            "                for j in range(n):\n",
            "                    col = [b[i][j] for i in range(n)]\n",
            "                    merged = compress(col)\n",
            "                    for i in range(n): b[i][j] = merged[i]\n",
            "            elif dir=='S':\n",
            "                for j in range(n):\n",
            "                    col = [b[i][j] for i in range(n)][::-1]\n",
            "                    merged = compress(col)\n",
            "                    merged = merged[::-1]\n",
            "                    for i in range(n): b[i][j] = merged[i]\n",
            "            elif dir=='A':\n",
            "                for i in range(n):\n",
            "                    row = b[i]\n",
            "                    merged = compress(row)\n",
            "                    b[i] = merged\n",
            "            elif dir=='D':\n",
            "                for i in range(n):\n",
            "                    row = b[i][::-1]\n",
            "                    merged = compress(row)\n",
            "                    b[i] = merged[::-1]\n",
            "            return b\n",
            "        moved = move(board, dir)\n",
            "        return moved != board\n",
            "    for d in \"WASD\":\n",
            "        if can_move(board, d):\n",
            "            return d\n",
            "    return \"W\"\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;208m1024\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;208m1024\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;214m 512\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;214m 512\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Steps = 1127 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    # Simple heuristic: if any move possible, pick a random legal one.\n",
            "    moves = ['W', 'A', 'S', 'D']\n",
            "    # Randomly shuffle and pick first that changes board (or return any if all invalid)\n",
            "    def can_move(board, move):\n",
            "        # Very simple check: ensure move is within bounds and not all cells zero\n",
            "        return any(any(row) for row in board)\n",
            "    random.shuffle(moves)\n",
            "    return moves[0]\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "def strategy(board):\n",
            "    # Simple heuristic: always try to move up (\"W\") if possible, otherwise down (\"S\")\n",
            "    # We'll simulate a single move to see if any tile merges or moves.\n",
            "    def can_move_up(b):\n",
            "        for col in range(4):\n",
            "            for row in range(1, 4):\n",
            "                if b[row][col] != 0 and (b[row-1][col] == 0 or b[row-1][col] == b[row][col]):\n",
            "                    return True\n",
            "        return False\n",
            "    return \"W\" if can_move_up(board) else \"S\"\n",
            "Timeout\n",
            "Exception = list index out of range\n",
            "Steps = 1218 State = failed\n",
            "def strategy(board):\n",
            "    import copy, random\n",
            "\n",
            "    dirs = {\"W\": (-1, 0), \"A\": (0, -1), \"S\": (1, 0), \"D\": (0, 1)}\n",
            "\n",
            "    def slide_line(line):\n",
            "        new = [x for x in line if x != 0]\n",
            "        res = []\n",
            "        i = 0\n",
            "        while i < len(new):\n",
            "            if i + 1 < len(new) and new[i] == new[i + 1]:\n",
            "                res.append(new[i] * 2)\n",
            "                i += 2\n",
            "            else:\n",
            "                res.append(new[i])\n",
            "                i += 1\n",
            "        res += [0] * (len(line) - len(res))\n",
            "        return res\n",
            "\n",
            "    def move(b, d):\n",
            "        n = len(b)\n",
            "        bx = [row[:] for row in b]\n",
            "        moved = False\n",
            "        for i in range(n):\n",
            "            if d[0] == -1 or d[0] == 1:\n",
            "                line = [bx[j][i] for j in range(n)]\n",
            "                if d[0] == 1: line.reverse()\n",
            "                new = slide_line(line)\n",
            "                if d[0] == 1: new.reverse()\n",
            "                for j in range(n):\n",
            "                    if bx[j][i] != new[j]:\n",
            "                        moved = True\n",
            "                    bx[j][i] = new[j]\n",
            "            else:\n",
            "                line = bx[i][:]\n",
            "                if d[1] == 1: line.reverse()\n",
            "                new = slide_line(line)\n",
            "                if d[1] == 1: new.reverse()\n",
            "                if new != bx[i]:\n",
            "                    moved = True\n",
            "                bx[i] = new\n",
            "        return bx, moved\n",
            "\n",
            "    def score(b):\n",
            "        return sum(sum(row) for row in b)\n",
            "\n",
            "    best = None\n",
            "    best_score = -1\n",
            "    for key, d in dirs.items():\n",
            "        new_board, moved = move(board, d)\n",
            "        if not moved: continue\n",
            "        s = score(new_board)\n",
            "        if s > best_score:\n",
            "            best_score = s\n",
            "            best = key\n",
            "    return best if best else random.choice(list(dirs.keys()))\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;214m 512\u001b[0m│\u001b[38;5;208m1024\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    # Simple deterministic strategy: try to push upwards if possible otherwise right\n",
            "    # Check if any merge or move possible upward, else right\n",
            "    def can_move(board, drow, dcol):\n",
            "        for r in range(4):\n",
            "            for c in range(4):\n",
            "                val = board[r][c]\n",
            "                if val == 0: continue\n",
            "                nr, nc = r + drow, c + dcol\n",
            "                if 0 <= nr < 4 and 0 <= nc < 4:\n",
            "                    nb = board[nr][nc]\n",
            "                    if nb == 0 or nb == val: return True\n",
            "        return False\n",
            "\n",
            "    if can_move(board, -1, 0):\n",
            "        return \"W\"\n",
            "    if can_move(board, 0, 1):\n",
            "        return \"D\"\n",
            "    if can_move(board, 1, 0):\n",
            "        return \"S\"\n",
            "    if can_move(board, 0, -1):\n",
            "        return \"A\"\n",
            "    # if no moves possible, just return \"W\"\n",
            "    return \"W\"\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    # Simple heuristic: always try to move 'W' (up) if possible,\n",
            "    # otherwise pick the first available move among A, S, D.\n",
            "    moves = ['W', 'A', 'S', 'D']\n",
            "    for m in moves:\n",
            "        if can_move(board, m):\n",
            "            return m\n",
            "    return 'W'\n",
            "\n",
            "    def can_move(b, m):\n",
            "        # Check if a move in direction m is possible (board not empty)\n",
            "        # This is a minimal placeholder that always returns True\n",
            "        # for demonstration purposes.\n",
            "        return True\n",
            "Exception = cannot access local variable 'can_move' where it is not associated with a value\n",
            "Steps = 1376 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    return random.choice([\"W\", \"A\", \"S\", \"D\"])\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;214m 512\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Steps = 1393 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    moves = [\"W\",\"A\",\"S\",\"D\"]\n",
            "    # Simple heuristic: prefer moves that don't change board, otherwise random\n",
            "    def can_move(b, dir_):\n",
            "        # simulate a move and check if board changes\n",
            "        bcopy = [row[:] for row in b]\n",
            "        # placeholder for actual move logic\n",
            "        return True  # assume any direction always possible for simplicity\n",
            "    \n",
            "    valid_moves = [m for m in moves if can_move(board, m)]\n",
            "    return random.choice(valid_moves)\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;214m 512\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    # simulate a move in 2048\n",
            "    def move(b, dir):\n",
            "        def transpose(m): return [list(x) for x in zip(*m)]\n",
            "        def reverse(m): return [row[::-1] for row in m]\n",
            "        def compress(row):\n",
            "            new = [x for x in row if x]\n",
            "            merged = []\n",
            "            skip = False\n",
            "            for i in range(len(new)):\n",
            "                if skip: skip = False; continue\n",
            "                if i+1 < len(new) and new[i]==new[i+1]:\n",
            "                    merged.append(new[i]*2)\n",
            "                    skip = True\n",
            "                else:\n",
            "                    merged.append(new[i])\n",
            "            return merged + [0]*(len(row)-len(merged))\n",
            "        def slide(m):\n",
            "            return [compress(row) for row in m]\n",
            "        m = [row[:] for row in b]\n",
            "        if dir==\"W\":\n",
            "            m = transpose(m)\n",
            "            m = slide(m)\n",
            "            m = transpose(m)\n",
            "        elif dir==\"S\":\n",
            "            m = transpose(m)\n",
            "            m = reverse(m)\n",
            "            m = slide(m)\n",
            "            m = reverse(m)\n",
            "            m = transpose(m)\n",
            "        elif dir==\"A\":\n",
            "            m = reverse(m)\n",
            "            m = slide(m)\n",
            "            m = reverse(m)\n",
            "        elif dir==\"D\":\n",
            "            m = slide(m)\n",
            "        return m\n",
            "    dirs = \"WASD\"\n",
            "    for d in dirs:\n",
            "        if move(board, d) != board:\n",
            "            return d\n",
            "    return dirs[0]\n",
            "Timeout\n",
            "Steps = 1343 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    moves = [\"W\", \"A\", \"S\", \"D\"]\n",
            "    # Randomly pick a move that actually changes the board state\n",
            "    board_str = str(board)\n",
            "    for _ in range(10):\n",
            "        mv = random.choice(moves)\n",
            "        # Very simple: pretend every move is valid\n",
            "        return mv\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Timeout\n",
            "Steps = 1013 State = success\n",
            "def strategy(board):\n",
            "    import random\n",
            "    # simple heuristic: try moves that combine tiles\n",
            "    moves = [\"W\", \"A\", \"S\", \"D\"]\n",
            "    best_move = random.choice(moves)\n",
            "    # Simple check: if any move leads to a merge, prioritize that\n",
            "    def can_merge(b, move):\n",
            "        def copy_board(b):\n",
            "            return [row[:] for row in b]\n",
            "        def slide(row):\n",
            "            tiles = [t for t in row if t]\n",
            "            new = []\n",
            "            skip = False\n",
            "            for i in range(len(tiles)):\n",
            "                if skip:\n",
            "                    skip = False\n",
            "                    continue\n",
            "                if i+1 < len(tiles) and tiles[i] == tiles[i+1]:\n",
            "                    new.append(tiles[i]*2)\n",
            "                    skip = True\n",
            "                else:\n",
            "                    new.append(tiles[i])\n",
            "            return new + [0]*(len(row)-len(new))\n",
            "        def transpose(b):\n",
            "            return [list(col) for col in zip(*b)]\n",
            "        b2 = copy_board(b)\n",
            "        if move == \"W\":\n",
            "            b2 = transpose(b2)\n",
            "            for i in range(4):\n",
            "                b2[i] = slide(b2[i])\n",
            "            b2 = transpose(b2)\n",
            "        elif move == \"S\":\n",
            "            b2 = transpose(b2)\n",
            "            for i in range(4):\n",
            "                b2[i] = list(reversed(slide(list(reversed(b2[i])))))\n",
            "            b2 = transpose(b2)\n",
            "        elif move == \"A\":\n",
            "            for i in range(4):\n",
            "                b2[i] = slide(b2[i])\n",
            "        elif move == \"D\":\n",
            "            for i in range(4):\n",
            "                b2[i] = list(reversed(slide(list(reversed(b2[i])))))\n",
            "        return b2 != b\n",
            "    # evaluate moves\n",
            "    for m in moves:\n",
            "        if can_merge(board, m):\n",
            "            best_move = m\n",
            "            break\n",
            "    return best_move\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "def strategy(board):\n",
            "    import random\n",
            "    moves = [\"W\", \"A\", \"S\", \"D\"]\n",
            "    return random.choice(moves)\n",
            "Steps = 1620 State = success\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;214m 512\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Steps = 1342 State = success\n",
            "def strategy(board):\n",
            "    # Simple strategy: choose a random legal move from those that change the board\n",
            "    import random, copy\n",
            "    moves = ['W', 'A', 'S', 'D']\n",
            "    def apply_move(b, m):\n",
            "        def rotate(b, times):\n",
            "            for _ in range(times):\n",
            "                b = [list(row) for row in zip(*b[::-1])]\n",
            "            return b\n",
            "        def slide_and_merge(b):\n",
            "            new_b = []\n",
            "            for row in b:\n",
            "                tiles = [t for t in row if t != 0]\n",
            "                merged = []\n",
            "                skip = False\n",
            "                for i in range(len(tiles)):\n",
            "                    if skip:\n",
            "                        skip = False\n",
            "                        continue\n",
            "                    if i+1 < len(tiles) and tiles[i] == tiles[i+1]:\n",
            "                        merged.append(tiles[i]*2)\n",
            "                        skip = True\n",
            "                    else:\n",
            "                        merged.append(tiles[i])\n",
            "                merged += [0]*(4-len(merged))\n",
            "                new_b.append(merged)\n",
            "            return new_b\n",
            "        rot = {'W':0,'A':1,'S':2,'D':3}[m]\n",
            "        b_rot = rotate(b, rot)\n",
            "        b_new = slide_and_merge(b_rot)\n",
            "        b_final = rotate(b_new, (4-rot)%4)\n",
            "        return b_final\n",
            "    legal_moves = []\n",
            "    for m in moves:\n",
            "        if apply_move(copy.deepcopy(board), m) != board:\n",
            "            legal_moves.append(m)\n",
            "    return random.choice(legal_moves) if legal_moves else 'W'\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;118m  64\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;154m 128\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;49m   8\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Timeout\n",
            "Timeout\n",
            "def strategy(board):\n",
            "    import random\n",
            "    moves = [\"W\",\"A\",\"S\",\"D\"]\n",
            "    # Prefer moves that combine tiles or create empty spaces\n",
            "    def can_move(m):\n",
            "        n = len(board)\n",
            "        tmp = [row[:] for row in board]\n",
            "        def move_left(b):\n",
            "            changed = False\n",
            "            for i in range(n):\n",
            "                merged = [False]*n\n",
            "                for j in range(1,n):\n",
            "                    if b[i][j]==0: continue\n",
            "                    k=j\n",
            "                    while k>0 and b[i][k-1]==0:\n",
            "                        b[i][k-1]=b[i][k]; b[i][k]=0; k-=1; changed=True\n",
            "                    if k>0 and b[i][k-1]==b[i][k]:\n",
            "                        b[i][k-1]*=2; b[i][k]=0; changed=True; merged[k-1]=True\n",
            "            return changed\n",
            "        def rotate(b, times):\n",
            "            for _ in range(times):\n",
            "                b = [list(row) for row in zip(*b[::-1])]\n",
            "            return b\n",
            "        def revert(b, times):\n",
            "            for _ in range(times):\n",
            "                b = [list(row) for row in zip(*b)][::-1]\n",
            "            return b\n",
            "        for t in range(4):\n",
            "            tmp = rotate(tmp,1)\n",
            "            if move_left(tmp):\n",
            "                return True\n",
            "        return False\n",
            "    viable = [m for m in moves if can_move(m)]\n",
            "    return random.choice(viable) if viable else random.choice(moves)\n",
            "Steps = 1201 State = success\n",
            "┌────┬────┬────┬────┬────┬────┐\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;47m  16\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;49m   8\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;196m2048\u001b[0m│\u001b[38;5;226m 256\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\u001b[38;5;239m   .\u001b[0m│\n",
            "├────┼────┼────┼────┼────┼────┤\n",
            "│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;46m  32\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\u001b[38;5;51m   4\u001b[0m│\u001b[38;5;45m   2\u001b[0m│\n",
            "└────┴────┴────┴────┴────┴────┘\n",
            "Exception = 'str' object does not support item assignment\n"
          ]
        }
      ],
      "source": [
        "trainer.train()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "tlaUdxC_VHpz"
      },
      "source": [
        "<a name=\"Inference\"></a>\n",
        "# Inference\n",
        "Now let's try the model we just trained!"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "TwZygRdWf8ab",
        "outputId": "ebd3d677-bf37-4d9b-e42a-09ad5adc17d9"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "<|start|>system<|message|>You are ChatGPT, a large language model trained by OpenAI.\n",
            "Knowledge cutoff: 2024-06\n",
            "Current date: 2025-10-17\n",
            "\n",
            "Reasoning: low\n",
            "\n",
            "# Valid channels: analysis, commentary, final. Channel must be included for every message.\n",
            "Calls to these tools must go to the commentary channel: 'functions'.<|end|><|start|>user<|message|>Create a new short 2048 strategy using only native Python code.\n",
            "You are given a list of list of numbers for the current board state.\n",
            "Output one action for \"W\", \"A\", \"S\", \"D\" on what is the optimal next step.\n",
            "Output your new short function in backticks using the format below:\n",
            "```python\n",
            "def strategy(board):\n",
            "    return \"W\" # Example\n",
            "```\n",
            "All helper functions should be inside def strategy. Only output the short function `strategy`.<|end|><|start|>assistant<|channel|>analysis<|message|>We need a simple strategy. Use a basic heuristic: try moves in order W,A,S,D and pick first that changes board. Provide function.<|end|><|start|>assistant<|channel|>final<|message|>```python\n",
            "def strategy(board):\n",
            "    # helper to copy board\n",
            "    def copy(b): return [row[:] for row in b]\n",
            "    # move simulation\n",
            "    def move(b, d):\n",
            "        def collapse(row):\n",
            "            new = [x for x in row if x]\n",
            "            res = []\n",
            "            skip = False\n",
            "            for i in range(len(new)):\n",
            "                if skip: skip = False; continue\n",
            "                if i+1 < len(new) and new[i]==new[i+1]:\n",
            "                    res.append(new[i]*2); skip=True\n",
            "                else:\n",
            "                    res.append(new[i])\n",
            "            res += [0]*(4-len(res))\n",
            "            return res\n",
            "        if d=='W' or d=='S':\n",
            "            trans = [list(col) for col in zip(*b)]\n",
            "            for i in range(4):\n",
            "                trans[i] = collapse(trans[i]) if d=='W' else collapse(trans[i][::-1])[::-1]\n",
            "            return [list(row) for row in zip(*trans)]\n",
            "        else:\n",
            "            for i in range(4):\n",
            "                row = collapse(b[i]) if d=='A' else collapse(b[i][::-1])[::-1]\n",
            "                b[i] = row\n",
            "            return b\n",
            "\n",
            "    def boards_equal(a,b): return all(a[i][j]==b[i][j] for i in range(4) for j in range(4))\n",
            "    for d in \"WASD\":\n",
            "        new = move(copy(board), d)\n",
            "        if not boards_equal(board, new):\n",
            "            return d\n",
            "    return \"W\"\n",
            "```<|return|>\n"
          ]
        }
      ],
      "source": [
        "text = tokenizer.apply_chat_template(\n",
        "    [{\"role\": \"user\", \"content\": prompt}],\n",
        "    tokenize = False,\n",
        "    add_generation_prompt = True,\n",
        "    reasoning_effort = \"low\",\n",
        ")\n",
        "\n",
        "from transformers import TextStreamer\n",
        "_ = model.generate(\n",
        "    **tokenizer(text, return_tensors = \"pt\").to(\"cuda\"),\n",
        "    temperature = 1.0,\n",
        "    max_new_tokens = 1024,\n",
        "    streamer = TextStreamer(tokenizer, skip_prompt = False),\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "-NUEmHFSYNTp"
      },
      "source": [
        "<a name=\"Save\"></a>\n",
        "### Saving to float16 or `MXFP4`\n",
        "\n",
        "We also support saving to `float16` directly. Select `merged_16bit` for float16 or `mxfp4` for MXFP4 (OpenAI's GPT-OSS native precision). We also allow `lora` adapters as a fallback. Use `push_to_hub_merged` to upload to your Hugging Face account! You can go to https://huggingface.co/settings/tokens for your personal tokens."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "NjXGTkp7YNtB"
      },
      "outputs": [],
      "source": [
        "# Merge and push to hub in mxfp4 4bit format\n",
        "if False:\n",
        "    model.save_pretrained_merged(\"finetuned_model\", tokenizer, save_method = \"mxfp4\")\n",
        "if False:\n",
        "    model.push_to_hub_merged(\"repo_id/repo_name\", tokenizer, token = \"hf...\", save_method = \"mxfp4\")\n",
        "\n",
        "# Merge and push to hub in 16bit\n",
        "if False:\n",
        "    model.save_pretrained_merged(\"finetuned_model\", tokenizer, save_method = \"merged_16bit\")\n",
        "if False: # Pushing to HF Hub\n",
        "    model.push_to_hub_merged(\"hf/gpt-oss-finetune\", tokenizer, save_method = \"merged_16bit\", token = \"\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "V15Yhj1V9lwG"
      },
      "source": [
        "# And we're done!\n",
        "Congratulations you just learned how to do reinforcement learning with GPT-OSS! There were some advanced topics explained in this notebook - to learn more about GPT-OSS and RL, there are more docs in Unsloth's [Reinforcement Learning Guide with GPT-OSS](https://docs.unsloth.ai/new/gpt-oss-reinforcement-learning)\n",
        "\n",
        "This notebook and all Unsloth notebooks are licensed [LGPL-3.0](https://github.com/unslothai/notebooks?tab=LGPL-3.0-1-ov-file#readme)."
      ]
    }
  ],
  "metadata": {
    "accelerator": "GPU",
    "colab": {
      "gpuType": "A100",
      "include_colab_link": true,
      "machine_shape": "hm",
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "name": "python"
    },
    "widgets": {
      "application/vnd.jupyter.widget-state+json": {
        "11c8cbc8b22e45aa8e693e93899bebd4": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "28a39cc2235f4a87a9ba005fdb7c897c": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "4d13ad704b0540119d07b50339a7c1bf": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_11c8cbc8b22e45aa8e693e93899bebd4",
            "placeholder": "​",
            "style": "IPY_MODEL_c0a2a290c184454597c72fa8727085fd",
            "value": " 9/9 [00:12&lt;00:00,  1.26s/it]"
          }
        },
        "75263dd171514a4d96f1c7dd369711c8": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a0bfb5d1b125412ab558de97446bab69": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_75263dd171514a4d96f1c7dd369711c8",
            "max": 9,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_a35a90b772c742bd90f0e7ed771c8abb",
            "value": 9
          }
        },
        "a35a90b772c742bd90f0e7ed771c8abb": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "c0a2a290c184454597c72fa8727085fd": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "c6da8e771e14490b856226a9ab08556d": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_e270e1eb571b4c75921b8fbee4cc8e2a",
              "IPY_MODEL_a0bfb5d1b125412ab558de97446bab69",
              "IPY_MODEL_4d13ad704b0540119d07b50339a7c1bf"
            ],
            "layout": "IPY_MODEL_d57af02288e94e18a221739a4cdcf82a"
          }
        },
        "c8599f4cea6440c9a36a873507012a2f": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "d57af02288e94e18a221739a4cdcf82a": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e270e1eb571b4c75921b8fbee4cc8e2a": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_28a39cc2235f4a87a9ba005fdb7c897c",
            "placeholder": "​",
            "style": "IPY_MODEL_c8599f4cea6440c9a36a873507012a2f",
            "value": "Loading checkpoint shards: 100%"
          }
        },
        "state": {}
      }
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
